.png)
집합 연산자는 조회(SELECT) 쿼리의 결과를 대상으로 연산을 수행하는 연산자.
UNION, UNION ALL, MINUS, INSERTSECT 등이 있다.
조회의 결과를 대상으로 연산을 수행하므로, 여러 개의 SELECT문을 하나의 쿼리로 만드는 연산자 이다.
UNION 은 합집합 개념이다. 철수와 영희가 같이 듣는 국어와 영어는 수행 결과 한번만 나오게 된다.
코드
SELECT subject
FROM timetable
WHERE name='철수'
UNION
SELECT subject
FROM timetable
WHERE name='영희';
결과
subject
--------
국어
영어
수학
사회
과학
도덕
UNION 과 유사 하지만 중복된 항목도 모두 조회 한다.
코드
SELECT subject
FROM timetable
WHERE name='철수'
UNION ALL
SELECT subject
FROM timetable
WHERE name='영희';
결과
subject
--------
국어
영어
수학
국어
사회
과학
도덕
INTERSECT는 교집합을 의미한다.
코드
SELECT subject
FROM timetable
WHERE name='철수'
INTERSECT
SELECT subject
FROM timetable
WHERE name='영희';
결과
subject
--------
국어
영어
MINUS는 차집합을 의미한다. 먼저 위치한 SELECT문을 기준으로 다른 SELECT문과 공통된 레코드를 제외한 항목만 추출된다.
코드
SELECT subject
FROM timetable
WHERE name='철수'
MINUS
SELECT subject
FROM timetable
WHERE name='영희';
결과
subject
--------
수학
SELECT문들은 같은 개수의 컬럼을 조회해야만 한다.SELECT문들이 여러 개의 컬럼을 조회할 경우, 모든 컬럼에 대해 집합 연산을 수행한다.ORDER BY문은 맨 마지막에만 사용할 수 있다.