Union vs Union All
UNION runs DISTINCT on the stacked result. UNION ALL concatenates as-is. If you know there are no duplicates, UNION ALL is the right default for performance.
Same number of columns. First SELECT names the output columns.
Trap — UNION ALL then DISTINCT on the outside without thinking — you paid twice.
On the example next to this theory — Union vs Union All — uNION merges result sets and drops duplicate rows.
Exam tip
Need unique names → UNION. Two year dumps → UNION ALL.