UNION을 이용하여 복수의 테이블에 대해 합집합을 구할 수 있다.
SELECT * FROM sample71_a;
+---+
| a |
+---+
| 1 |
| 2 |
| 3 |
+---+
SELECT * FROM sample71_b;
+----+
| b |
+----+
| 2 |
| 10 |
| 11 |
+----+
SELECT * FROM sample71_a
UNION
SELECT * FROM sample71_b;
+----+
| a |
+----+
| 1 |
| 2 |
| 3 |
| 10 |
| 11 |
+----+
-> 두 SELECT 결과가 합쳐진 뒤 중복인 2가 제거 된 결과를 볼 수 있다.
SELECT * FROM sample31;
+------+-----+-------------------+
| name | age | address |
+------+-----+-------------------+
| A씨 | 36 | 대구광역시 중구 |
| B씨 | 18 | 부산광역시 연제구 |
| C씨 | 25 | 서울특별시 중구 |
+------+-----+-------------------+
SELECT * FROM sample71_a
UNION
SELECT * FROM sample71_b
UNION
SELECT * FROM sample31;
1222, 'The used SELECT statements have a different number of columns'
-> 열의 갯수와 자료형이 맞지 않아 에러 발생
SELECT b AS c FROM sample71_b
UNION
SELECT a AS c FROM sample71_a ORDER BY c;
+----+
| c |
+----+
| 1 |
| 2 |
| 3 |
| 10 |
| 11 |
+----+
SELECT * FROM sample71_a
UNION ALL
SELECT * FROM sample71_b;
+----+
| a |
+----+
| 1 |
| 2 |
| 3 |
| 2 |
| 10 |
| 11 |
+----+
-> 중복이 제거 되지 않아 2가 두 번 있는 것을 볼 수있다.