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


연산자 비교

 

1. 비교

집합 연산자 SQL문  
UNION 연산 UNION  UNION, UNION ALL
INTERSECTION 연산 INTERSECT  
DIFFERENCE 연산 EXCEPT  

2. UNION 연산자

 

1) 두 개의 집합에 대한 합집합을 구할 수 있다. A집합 + B집합을 모두 보여준다.

 

* UNION

 

– 결과집합의 중복을 제거하고 보여준다.

– 교집합인 경우 중복을 제거한 집합을 보여준다.

 

* UNION ALL

 

– 결과집합의 중복을 그대로 보여준다.

 

3) UNION 연산자에 사용되는 SELECT문의 컬럼의 수와 순서가 동일해야 한다.

4) 순서가 일치하는 각각 컬럼의 데이터 유형(타입)이 일치해야 한다.

3. INTERSECT 연산자

 

1) 두 개 이상의 집합에 대한 교집합을 구할 수 있다.

2) INTERSECT 연산자에 사용되는 SELECT문의 컬럼의 수와 순서가 동일해야 한다.

3) 순서가 일치하는 각각 컬럼의 데이터 유형(타입)이 일치해야 한다.


4. EXCEPT 연산자

 

1) 두 개의 집합에 대한 차집합을 구할 수 있다.

2) A집합 – B집합을 출력한다.

3) EXCEPT 연산자에 사용되는 SELECT문의 컬럼의 수와 순서가 동일해야 한다.

4) 순서가 일치하는 각각 컬럼의 데이터 유형(타입)이 일치해야 한다.

5) EXCEPT 연산자를 사용해서 두 개의 집합에 대한 차집합을 할 경우, EXCEPT의 연산 결과는 중복을 제거한 후 리턴한다.