Certification/SQLP

[SQL] 집합 연산자 UNION / UNION ALL / INTERSECT / EXCEPT

엘호리스 2019. 3. 2. 05:47

[SQL] 집합 연산자 UNION / UNION ALL / INTERSECT / EXCEPT


집합 연산자의 종류


집합 연산자 

의미 

UNION

여러 개의 SQL문의 결과에 대한 합집합으로 결과에서 모든 중복된 행은 하나의 행으로 만든다. UNION [DISTINCT] 라고 보는게 맞다.

UNION ALL

여러 개의 SQL문의 결과에 대한 합집합으로 중복된 행도 그대로 결과로 표시된다. 즉, 단순히 결과만 합쳐놓은 것이다. 일반적으로 여러 질의 결과가 상호 베타적인(Exclusive)일 때 많이 사용한다. 개별 SQL문의 결과가 서로 중복되지 않는 경우, UNION과 결과가 동일하다. (결과의 정렬 순서에는 차이가 있을 수 있음)

INTERSECT 

여러 개의 SQL문의 결과에 대한 교집합이다. 중복된 행은 하나의 행으로 만든다.

EXCEPT 

앞의 SQL문의 결과에서 뒤의 SQL문의 결과에 대한 차집합이다. 중복된 행은 하나의 행으로 만든다. (일부 데이터베이스에서는 MINUS를 사용한다.)