각 쿼리의 결과 집합을 가지고 연산을 하는 명령어
- UNION ALL
- UNION
- INTERSECT
- MINUS/EXCEPT
1. UNION ALL / UNION
UNION ALL
- 쿼리1의 결과와 쿼리2의 결과를 그대로 합하는 것
- 중복된 행도 그대로 출력된다.
SELECT * FROM RUNNING_MAN;
|
CAST |
GENDER |
JOB |
| 1 |
유재석 |
남 |
개그맨 |
| 2 |
지석진 |
남 |
개그맨 |
| 3 |
김종국 |
남 |
가수 |
| 4 |
전소민 |
여 |
배우 |
| 5 |
송지효 |
여 |
배우 |
| 6 |
이광수 |
남 |
배우 |
| 7 |
하하 |
남 |
가수 |
| 8 |
양세찬 |
남 |
개그맨 |
SELECT * FROM INFINITE_CHALLENGE;
|
CAST |
GENDER |
JOB |
| 1 |
유재석 |
남 |
개그맨 |
| 2 |
박명수 |
남 |
개그맨 |
| 3 |
정준하 |
남 |
개그맨 |
| 4 |
하하 |
남 |
가수 |
| 5 |
양세형 |
남 |
개그맨 |
| 6 |
조세호 |
남 |
개그맨 |
SELECT * FROM RUNNING MAN
UNION ALL
SELECT * FROM INFINITE_CHALLENGE;
|
CAST |
GENDER |
JOB |
| 1 |
유재석 |
남 |
개그맨 |
| 2 |
지석진 |
남 |
개그맨 |
| 3 |
김종국 |
남 |
가수 |
| 4 |
전소민 |
여 |
배우 |
| 5 |
송지효 |
여 |
배우 |
| 6 |
이광수 |
남 |
배우 |
| 7 |
하하 |
남 |
가수 |
| 8 |
양세찬 |
남 |
개그맨 |
| 9 |
유재석 |
남 |
개그맨 |
| 10 |
박명수 |
남 |
개그맨 |
| 11 |
정준하 |
남 |
개그맨 |
| 12 |
하하 |
남 |
가수 |
| 13 |
양세형 |
남 |
개그맨 |
| 14 |
조세호 |
남 |
개그맨 |
UNION
- 쿼리1의 결과와 쿼리2의 결과를 합한 후 중복을 제거하여 출력한다.
- 각 쿼리의 결과 집합의 합집합에 중복된 행이 없을 때는 UNION ALL 과 UNION 모두 같은 결과를 도출하지만,
UNION 을 사용할 때 데이터베이스 내부적으로 중복된 행을 제거하는 과정을 거쳐야 하므로 성능상 불리할 수 있다.
SELECT * FROM RUNNING MAN
UNION
SELECT * FROM INFINITE_CHALLENGE;