---
id: sql-union-all
title: "SQL Union All"
category: "Database"
status: "draft"
verification_status: "conceptual"
canonical_id: ""
aliases: ["SQL UNION ALL Operator", "UNION ALL operator"]
duplicate_of: ""
source_trust_level: "B"
confidence_score: 0.9
created_at: 2026-07-04
updated_at: 2026-07-04
review_reason: ""
merge_history: []
tags: ["sql", "database", "w3schools", "union", "union-all"]
raw_sources: ["https://www.w3schools.com/sql/sql_union_all.asp"]
applied_in: []
github_commit: ""
---

# [[SQL Union All]]

## 🎯 한 줄 통찰 (One-line insight)
UNION ALL combines result-sets like UNION but keeps every row including duplicates, under the same same-columns/types/order requirements. [S1]

## 🧠 핵심 개념 (Core concepts)
- **UNION ALL operator** — combines the result-set of two or more SELECT statements, including all rows and duplicates. [S1]
- **Requirements** — identical to UNION: same number of columns, similar data types, same column order across all SELECT statements. [S1]
- **Syntax** — `SELECT column_name(s) FROM table1 UNION ALL SELECT column_name(s) FROM table2;`. [S1]

## 🧩 추출된 패턴 (Extracted patterns)
- **UNION vs. UNION ALL is a dedup toggle** — same syntax and requirements as UNION; the only behavioral difference is whether duplicate rows across the combined sets survive. [S1]

## ⚖️ 비교 및 선택 기준 (Comparison & decision criteria)

| 항목 (Option) | 장점 | 단점 | 언제 선택 |
|---|---|---|---|
| **UNION** | 중복 자동 제거, 깔끔한 결과 | 중복 제거 연산으로 인해 UNION ALL보다 느릴 수 있음 | 고유 값 목록이 필요할 때 |
| **UNION ALL** | 중복 제거 연산이 없어 더 빠름, 원본 행 수 보존 | 중복 행이 그대로 남음 | 성능이 중요하거나 중복 자체가 의미 있는 데이터(예: 개수 집계)일 때 |

## 📖 세부 내용 (Details)
- All countries including duplicates: `SELECT Country FROM Customers UNION ALL SELECT Country FROM Suppliers ORDER BY Country;`. [S1]
- Filtered UNION ALL: `SELECT City, Country FROM Customers WHERE Country='Germany' UNION ALL SELECT City, Country FROM Suppliers WHERE Country='Germany' ORDER BY City;`. [S1]

## ⚖️ 모순 및 업데이트 (Contradictions & updates)
소스에서 모순되는 정보는 발견되지 않음.

## 🛠️ 적용 사례 (Applied in summary)
현재 발견된 실제 적용 사례가 없습니다 — 중복 제거 비용을 피하고 싶거나 중복 자체가 의미 있는 로그/집계성 쿼리에서 UNION 대신 선택된다. [S1]

## 💻 코드 패턴 (Code patterns)
Combine result-sets keeping duplicates (SQL):
```sql
SELECT Country FROM Customers
UNION ALL
SELECT Country FROM Suppliers
ORDER BY Country;
```

## ✅ 검증 상태 및 신뢰도
- **상태:** draft
- **검증 단계:** conceptual
- **출처 신뢰도:** B (W3Schools — widely used educational reference, not a primary standards body)
- **신뢰 점수:** 0.90
- **중복 검사 결과:** 신규 생성 (New discovery)

## 🔗 지식 그래프 (Knowledge Graph)
- **상위/루트:** [[SQL Tutorial]]
- **관련 개념:** [[SQL Union]], [[SQL Select Distinct]]
- **참조 맥락:** UNION의 중복-보존 버전 — 성능이 중요하거나 중복이 의미 있는 경우에 UNION 대신 선택.

## 📚 출처 (Sources)
- [S1] W3Schools — SQL UNION ALL Operator — https://www.w3schools.com/sql/sql_union_all.asp

## 📝 변경 이력 (Change history)
- 2026-07-04: Initial draft synthesized from the W3Schools "SQL UNION ALL Operator" page (Astra wiki-curation, P-Reinforce v3.1 format).
