UNION
여러 개의 SELECT문의 결과를 하나의 테이블로 표현할 때 사용한다.
각 SELECT문으로 선택한 필드의 개수와 타입, 순서는 모두 동일해야 한다.
용법
SELECT column_list
UNION [DISTINCT | ALL]
SELECT column_list
UNION [DISTINCT | ALL]
SELECT column_list
...
UNION 뒤의 연산자를 지정하지 않으면 기본적으로 DISTINCT로 동작하여 중복 행을 모두 제거한다.
예시 )
아래와 같이 student1, student2 테이블이 존재한다고 하자.
TABLE student1
TABLE student2
두 테이블에서 도시 이름을 한 번에 출력하고 싶다면 아래와 같이 UNION을 사용할 수 있다.
SELECT City FROM student1
UNION
SELECT City FROM student2
ORDER BY City;
UNION ALL
UNION ALL을 실행하는 경우 중복행이 제거되지 않은 결과를 확인할 수 있다.
SELECT City FROM student1
UNION ALL
SELECT City FROM student2
ORDER BY City;
UNION vs JOIN
UNION과 JOIN 모두 여러 데이터를 하나의 테이블처럼 표현할 수 있다는 유사점이 있다. 단, UNION은 결과 집합이 수직으로 추가되고 JOIN은 결과 집합이 가로로 추가된다는 차이점이 있다.
참고 문서
https://w3cschoool.com/union-vs-union-all