개발로그필름
[SQL] UNION 이랑 UNION ALL 의 차이 본문
728x90
반응형
SMALL
UNION
- 결과에서 중복된 행을 제거
- 즉, 집합 연산처럼 “유일한 값”만 남긴다
- 그래서 내부적으로 정렬(sort) & 중복 제거(distinct) 과정이 필요 → 성능이 느릴 수 있음
예시:
SELECT 1 AS num
UNION
SELECT 1 AS num
UNION
SELECT 2 AS num;
👉 결과
num
---
1
2
UNION ALL
- 결과에서 중복된 행도 그대로 남긴다
- 정렬/중복 제거 과정이 없어서 빠름.
- 단, 원하지 않는 중복이 있을 수 있음.
SELECT 1 AS num
UNION ALL
SELECT 1 AS num
UNION ALL
SELECT 2 AS num;
num
---
1
1
2
| 구분 |
UNION | UNION ALL |
| 중복 제거 | O | X |
| 정렬 여부 | 있음 | 없음 |
| 속도 | 느림 | 빠름 |
| 사용 상황 | 중복 필요 없을 때 | 중복도 포함해야 할 때 |
* 합치는 select문의 컬럼은 모두 동일해야한다!
반응형
LIST
'SQL' 카테고리의 다른 글
| [SQL] DATETIME과 TIMESTAMP의 차이점: 언제, 어떻게 사용할까? (0) | 2025.03.14 |
|---|---|
| [SQL] ON DELETE RESTRICT (0) | 2025.03.12 |
| [SQL] VIEW (0) | 2025.03.11 |
| [SQL] SELECT문 실행 순서 (0) | 2025.03.11 |
| [SQL] SUBSTRING() 함수 (0) | 2025.03.10 |
Comments