SQL UNION operator
Here is a clear, practical guide to the SQL UNION operator, with examples, rules, and best-practice notes.
What SQL UNION operator Does
UNION combines the result sets of two or more SELECT statements into a single result set.
-
Duplicates are removed (like
SELECT DISTINCT). -
Columns must be compatible (same number of columns and compatible data types).
Basic Syntax
Example: Combine data from two tables
✔ Removes duplicate rows
✔ Returns one combined result set
UNION ALL (keeps duplicates)
UNION ALL is faster because it does NOT check for duplicates.
Use when:
-
You want all rows, including duplicates
-
You want better performance on large datasets
Important Rules
-
Each SELECT must have the same number of columns
-
Columns must be in the same order
-
Columns must be compatible types (e.g., INT with BIGINT, VARCHAR with TEXT)
-
ORDER BYapplies once at the end:
Practical Examples
1. Combine active and archived orders
2. Get a list of unique cities from multiple tables
3. Find all unique tags across two tag tables
🔧 Using UNION inside subqueries
🏎 Performance Tips
✔ Use UNION ALL when duplicates don’t matter—much faster
✔ Apply ORDER BY only at the end
✔ Ensure SELECTs are using indexed columns when possible
✔ Avoid mixing very different data types
