[TIL]_2025.02.26 본캠프 10일차 (3): 예제로 익히는 SQL 4,5일차 + 숙제

JIYUU·2025년 2월 26일

01. UNION 함수

  • 2개 이상의 테이블의 수직 결합
  • 기본 구조
# union/union all 기본구조
# 컬럼 순서가 같고, 그 형식이 같아야 함
 
select 컬럼1, 컬럼2, 컬럼3.. 
from 테이블명1
union (all) #수직결합 명시
select 컬럼1, 컬럼2, 컬럼3..
from 테이블명2 
  • UNION은 중복되는 데이터는 제거해서 하나의 결과값만 반환
  • UNION ALL은 중복되는 데이터 모두 표기
  • 열의 갯수와 모든 순서가 모든 쿼리에서 동일 (구조가 모두 동일해야!)
  • 두 테이블의 컬럼 이름이 일치해야 가능

02. JOIN 함수

  • 테이블의 수평 결합
  • 공통 컬럼이 한 개 이상 없으면 JOIN 불가
  • ON절에서 두 개이상의 컬럼을 작성할 수 있음
on a.공통컬럼=b.공통컬럼 and a.공통컬럼2=b.공통컬럼2 
  • 아래의 기준 컬럼과 종속 컬럼은

  • PK(Primary Key) : 기본키, NULL일 수 없고, 유일한 값(중복 없이)을 가짐, 테이블 당 하나의 기본키만 존재

  • FK(Foreign Key) : 외래키, 다른 테이블의 PK와 연결되어 테이블 간의 관계를 나타내는 column

  • ERD(Entity Relationship Diagram) 관계도

  • Mapping Cardinality

  • JOIN의 종류

    • INNER JOIN : 가장 흔하게 사용되며, 두 테이블에서 일치하는 값을 가진 행(교집합)을 출력함
    • LEFT JOIN : 가장 흔하게 사용되며, 왼쪽 테이블의 모든 행과 오른쪽 테이블의 일치하는 행을 반환. 일치하는 항목이 오른쪽에 없다면 NULL을 반환
    • RIGHT JOIN : 오른쪽 테이블의 모든 행과 왼쪽 테이블의 일치하는 행을 반환. 일치하는 항목이 왼쪽에 없다면 NULL을 반환
    • FULL OUTER JOIN : 모든 데이터를 보고 싶을 때 사용하나, 용량 이슈로 자주 사용되지 않음. MySQL에서는 지원하지 않아, LEFT와 RIGHT의 합집합으로 계산.

나머지는 다음 시간에 계속

0개의 댓글