语法:
SELECT ...
UNION [ALL | DISTINCT] SELECT ...
[UNION [ALL | DISTINCT] SELECT ...]
- UNION 的作用是把多个SELECT语句的结果合并为一个结果集。
- UNION查询返回的列名,以第一个SELECT语句的列名命名。
- UNION,是UNION DISTINCT的简写,默认过滤重复行。一般建议使用UNION ALL。
【除非确实需要过滤重复行,否则一定要使用UNION ALL。如果没有ALL关键字,MYSQL会给临时表加上Distinct关键字,会导致对整个临时表的数据做唯一性检查。这样做的代价非常高】 - 如果想对总结果排序,需要把每个SELECT子句括起来。
(SELECT a FROM t1 WHERE a=10 AND B=1)
UNION
(SELECT a FROM t2 WHERE a=11 AND B=2)
ORDER BY a LIMIT 10;