UNION 合并去重要点
- UNION 把多个 SELECT 的结果上下拼接成一个集
- 拼接时自动去重,重复行只保留一份
- 每个 SELECT 的列数必须相同,位置对应
- 对应列的数据类型要兼容,否则合并会报错
- ORDER BY 放在最后一条 SELECT 之后,作用于整体
- UNION 因为要去重,会比 UNION ALL 稍慢
UNION 合并去重示例
SELECT city FROM customer
UNION
SELECT city FROM supplier
ORDER BY city;
避坑提醒:理解 UNION 的『去重』本质:它等价于先拼接再做 DISTINCT。若确定没有重复,直接用 UNION ALL 省掉这步开销。