UNION 与 UNION ALL 区别

Alexer 发布于 阅读:12 速查

UNION 和 UNION ALL 都是把两条查询结果上下拼在一起,列数要一致,类型要能对上。

UNION 会去掉重复行,结果更干净,但要多做去重,通常更慢。UNION ALL 不去重,查到什么就全留着,速度更快。只要允许重复,直接用 UNION ALL。

-- 去重:两个表里同名的只留一条
SELECT name FROM a
UNION
SELECT name FROM b;

-- 不去重:重复的 name 也保留
SELECT name FROM a
UNION ALL
SELECT name FROM b;

语法基础 MySQL 数据库基础