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;