개요
- UNION operator
- UNION 연산자
- SQL 집합 연산자 중 하나
- 두 SQL 쿼리문의 결과를 합치는 연산자
- UNION은 중복된 행[1]이 제외됨
- UNION ALL은 중복된 행이 그대로 있음
예시
실습용 테이블 2개
mysql> SELECT * FROM sales1;
+--------+--------+
| person | amount |
+--------+--------+
| Joe | 1000 |
| Alex | 2000 |
| Bob | 5000 |
+--------+--------+
mysql> SELECT * FROM sales2;
+--------+--------+
| person | amount |
+--------+--------+
| Joe | 2000 |
| Alex | 2000 |
| Zach | 35000 |
+--------+--------+
UNION 예시
mysql> SELECT * FROM sales1 UNION SELECT * FROM sales2;
+--------+--------+
| person | amount |
+--------+--------+
| Joe | 1000 |
| Alex | 2000 |
| Bob | 5000 |
| Joe | 2000 |
| Zach | 35000 |
+--------+--------+
- → 행의 모든 값이 일치하는 (Alex, 2000) 행은 1개만 출력된다.
- → 일부만 일치하는 행은 따로 출력된다. 예: (Joe, 1000)과 (Joe, 2000)
UNION ALL 예시
mysql> SELECT * FROM sales1 UNION ALL SELECT * FROM sales2;
+--------+--------+
| person | amount |
+--------+--------+
| Joe | 1000 |
| Alex | 2000 |
| Bob | 5000 |
| Joe | 2000 |
| Alex | 2000 |
| Zach | 35000 |
+--------+--------+
- → 모두 출력된다.
같이 보기
참고
- ↑ 단, 모든 컬럼의 값이 동일한 것