Database

<Database> SQL 집합 연산자

춘햄 2021. 4. 12. 11:33

1. 합집합 UNION: 단순히 두 SELECT 연산을 합치는 것으로 중복을 허용하지 않는 일반 UNION과 중복 값을 포함하는 UNION ALL이 있다

 

○Student Table:

 1) UNION: 

단순히 똑같은 STUDENT 테이블에서 id만 가져와 조인했을 경우, 동일 테이블의 합집합이므로, 하나의 테이블과 같은 결과 값이 나온다. 

 

 2) UNION ALL: 

UNION ALL 연산을 할 경우 중복 값을 포함하여 동일한 자료가 2개씩 들어있는 테이블이 결과 값으로 나오게 된다.


2. 교집합(INTERSECT): 말 그대로 두 SELECT  연산에서 동일한 부분만 추출하는 연산자이다. 예시로, Student Table과 Department Table의 교집합을 구해보면,

 

○Department Table:

-> Dept_ID로 INTERSECT를 구한다.


3. 차집합(MINUS): 한 개의 SELECT연산에서 다른 하나의 SELECT 연산 값과 동일한 결과를 제외하여 추출, 마찬가지로 Student Table과 Department Table를 이용하여 확인해보면,

 

 ->