본문 바로가기
  • BLG-ZYNGIROK-모토-꿈꾸며-배우고-나누며-이루다
ICT/SQL

SQL 문법 | 데이터 조회 및 필터 | EXCEPT (FEAT. MINUS)

by dazwischen 2021. 9. 16. 07:00
반응형

본 포스트에서는 집합연산자 중 하나인 EXCEPT에 대해서 살펴본다. 한 셋에만 유일하게 존재하는 것을 구할 때 사용한다.

EXCEPT

SQL 문법 데이터 조회 및 필터 집합연산자 EXCEPT

01 EXCEPT : 한 셋 내의 유일한 데이터만 알려주는

EXCEPT는 메인쿼리를 기준으로 EXCEPT 이후로 추가된 쿼리에서 중복인 것을 제거하여 메인쿼리에만 유일하게 존재하는 데이터 셋 (집합)을 보여준다. 수학적으로는 차집합이라고도 부르고 쿼리는 다음과 같이 작성된다.

SELECT	COL1, COL2
FROM	TABLE_A
EXCEPT
SELECT 	COL1, COL2
FROM	TABLE_B
;

EXAMPLE

시험 A와 시험 B를 응시한 모든 응시생 중에서 시험 A만 응시한 사람들의 이름과 생년월일을 알려주세요.

SELECT	NAME, BIRTHDAY
FROM	TEST_A
EXCEPT
SELECT	NAME, BIRTHDAY
FROM	TEST_B
;

02 MINUS

EXCEPT를 검색하다 보면 MINUS도 종종 눈에 띄긴한다. 어감상 EXCEPT랑 같은 기능을 갖고 있을 것이라고 추측이 된다. 정답은 맞다. 그런데 SQL SERVER에서는 사용할 수 없다. MINUS는 ORACLE에서 제공하는 차집합 기능이다. 이점 주의해야 한다.

반응형

댓글