두 집합의 합집합을 나타내는 연산자
UNION의 경우 중복된 값을 제거하여 하나만 출력
UNION ALL의 경우 중복된 값을 모두 출력
UNION은 중복된 값을 제거하기 위해 정렬 동반
불필요한 UNION 연산은 쿼리 수행 속도에 부정적 영향을 미칠 수 있으니 조심해야 한다.
사용 예시(10번과 20번 부서원의 집함 모음)
SELECT NAME, EMPNO, SAL
FROM EMP2
WHERE DEPTNO IN (10, 20)
UNION ALL
SELECT NAME, EMPNO, SAL
FROM EMP2
WHERE DEPTNO = 20
ORDER BY NAME;
SELECT NAME, EMPNO, SAL
FROM EMP2
WHERE DEPTNO IN (10, 20)
UNION
SELECT NAME, EMPNO, SAL
FROM EMP2
WHERE DEPTNO = 20
ORDER BY NAME;
SELECT NAME, EMPNO, SAL
FROM EMP2
WHERE DEPTNO IN (10, 20)
INTERSECT
SELECT NAME, EMPNO, SAL
FROM EMP2
WHERE DEPTNO = 20
ORDER BY NAME;
SELECT NAME, EMPNO, SAL
FROM EMP2
WHERE DEPTNO IN (10, 20)
EXCEPT
SELECT NAME, EMPNO, SAL
FROM EMP2
WHERE DEPTNO = 20
ORDER BY NAME;