정보처리기사/데이터베이스 활용

SQL 집한 연산자

glorypang 2025. 10. 22. 23:47
728x90
반응형
SMALL
  • UNION : 합치고 중복 제거
  • UNION ALL : 합치고 중복 유지(빠름)
  • INTERSECT : 공통만(중복 제거)
  • MINUS/EXCEPT : 차집합(중복 제거)

준비 데이터

A(x)

1
2
2
3

B(x)

2
3
4

 


1) UNION — 합집합(중복 제거)

SELECT x FROM A
UNION
SELECT x FROM B;

결과

1
2
3
4
  • A∪B, 중복은 제거됨.

2) UNION ALL — 합집합(중복 허용)

SELECT x FROM A
UNION ALL
SELECT x FROM B;

결과

1
2
2
3
2
3
4
  • A와 B의 모든 행을 그대로 이어 붙임(중복/행수 유지).
  • 집계/정렬 없으면 가장 빠름.

3) INTERSECT — 교집합(중복 제거)

SELECT x FROM A
INTERSECT
SELECT x FROM B;

결과

2
3
  • A∩B, 공통 값만, 중복 제거.

4) MINUS(= 표준 EXCEPT) — 차집합

-- Oracle 등: MINUS
SELECT x FROM A
MINUS
SELECT x FROM B;

-- 표준/다수 엔진: EXCEPT
SELECT x FROM A
EXCEPT
SELECT x FROM B;

결과

1
  • A−B, A에는 있고 B에는 없는 값, 중복 제거.
728x90
반응형
LIST