반응형
본 포스트에서는 집합연산자 중 하나인 EXCEPT에 대해서 살펴본다. 한 셋에만 유일하게 존재하는 것을 구할 때 사용한다.
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에서 제공하는 차집합 기능이다. 이점 주의해야 한다.
반응형
'ICT > SQL' 카테고리의 다른 글
SQL 문법 | 집합연산자 | ANY (0) | 2021.09.18 |
---|---|
SQL 문법 | 데이터 조회 및 필터 | WHERE IN (0) | 2021.09.17 |
SQL 문법 | 데이터 조회 및 필터 | INTERSECT (0) | 2021.09.15 |
SQL 문법 | 데이터 조회 및 필터 | UNION 과 UNION ALL (0) | 2021.09.14 |
SQL 문법 | 데이터 조회 및 필터 | CUBE (0) | 2021.09.13 |
댓글