두 개 이상의 SELECT 쿼리의 결과물을 하나로 묶고 싶을 때 사용할 수 있는 오라클의 operator이다.
둘의 차이는 UNION은 합쳐진 결과에서 중복을 제거하고 반환하고, UNION ALL에서는 중복을 포함하여 반환한다는 것이다.
다음 그림을 보면 더욱 쉽게 이해할 수 있을 것이다.


첫번째 그림에서 T1과 T2를 UNION으로 합친 결과 둘 사이의 중복은 제거되어 반환되었다. (1, 2, 3, 4)
두 번째 그림을 보면 UNION ALL을 한 결과 둘 사이의 중복은 그대로 모두 합쳐져서 반환 되었다. (1, 2, 3, 2, 3, 4)
SELECT쿼리 결과를 하나로 합치는 것에는 UNION외에도 JOIN이라는 operator가 있다. 이 둘의 차이는 무엇인가? 그건 다음과 같다.

이렇게 UNION은 수직으로 결과물을 합치지만, JOIN은 수평으로 결과물을 합친다. 이런 식의 차이를 인식하고 사용해야 한다.
SELECT COLUM1, COLUM2
FROM TABLE
WHERE COLUM = 1
UNION --OR UNION ALL
SELECT COLUM1, COLUM2
FROM TABLE
WHERE COLUM = 2
ORDER BY COLUM 1 --ORDER BY는 쿼리문 맨 마지막에 작성한다.
;