본문 바로가기
IT Study/SQL

[SQLD] 집합연산자

by 하람 Haram 2026. 3. 4.
728x90

집합연산자

- 두 테이블에 대한 집합연산 (합집합, 교집합 등)을 수행하는 연산자

- JOIN과의 차이점

    - JOIN은 특정한 기준키를 가지고 두 테이블에 대한 집합 연산을 수행

    - 집합연산자 : 기준키 없이 연산을 수행

        - 스키마가 동일 해야한다 (같은 수의 칼럼을 가지고 칼럼의 각각의 데이터 타입이 같아야 한다)

        - 반환되는 칼럼의 이름은 첫 번째 테이블을 따른다

 

 

UNION ALL

- 합집합 연산을 수행하지만 중복된 것들을 모두 포함해서 출력

- 단순 Concat 느낌 

ex) (a,1), (a,2), (b,2), (c,3) UNION ALL (a,1) (b,2), (c,3)

->  (a,1), (a,2), (b,2), (c,3) (a,1) (b,2), (c,3)

 

UNION

- 합집합 연산을 수행하지만 중복은 하나만 포함

ex) (a,1), (a,2), (b,2), (c,3) UNION ALL (a,1) (b,2), (c,3)

->  (a,1), (a,2), (b,2), (c,3) 

 

 

INTERSECT

교집합 연산을 수행

- 공통적으로 포함된 레코드만 포함 시킨다

 

 

MINUS (EXCEPT)

차집합 연산을 수행

- 왼쪽 테이블에서 두 테이블에 공통적으로 포함된 레코드들을 제외 시킨 결과를 반환 

728x90