SELECT 결과를 하나로 합칠 때UNION을 사용할 때는 각 SELECT 문이 동일한 컬럼 개수와 데이터 타입을 가져야 한다.customers
| id | name |
|---|---|
| 1 | 김첨지 |
| 2 | 홍길동 |
employees
| id | nickname |
|---|---|
| 1 | 미키 |
| 2 | 마우스 |
SELECT name AS 'nickname' FROM customers
UNION
SELECT nickname FROM employees;
결과
| nickname |
|---|
| 김첨지 |
| 홍길동 |
| 미키 |
| 마우스 |
UNION과 JOIN 비교UNION | JOIN | |
|---|---|---|
| 기준 | 여러 테이블의 행을 병합 | 여러 테이블을 연결 |
| 열 개수 | 동일해야 함 | 다를 수 있음 |
| 중복 | UNION은 제거, UNION ALL은 유지 | 중복될 수 있음 |
| 성능 | 느림 (중복 제거 비용 발생) | 상대적으로 빠름 |
👉 UNION ALL 을 사용하여 중복 제거 과정을 없애면 성능을 향상 시킬 수 있음
UNION vs. UNION ALLUNION → 중복 제거 (DISTINCT 동작)UNION ALL → 중복 제거 없이 모든 행 포함