Mysql的联合查询命令UNION和UNION ALL 最近面试的时候遇到了这个问题,回来查了一下。
UNION和UNION ALL的作用和语法
union: 联合的意思,即把两次或多次查询结果合并起来。
UNION 用于合并两个或多个 SELECT 语句的结果集,并消去表中任何重复行,如果不想去除重复的内容请使用union all。
UNION 内部的 SELECT 语句必须拥有相同数量的列,列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同.
SELECT staffName FROM staffA
UNION
SELECT staffName FROM staffB
注意:
1、UNION 内部的 SELECT 语句必须拥有相同数量的列。
2、UNION 结果集中的列名总是等于第一个 SELECT 语句中的列名.
3、每条 SELECT 语句中的列的顺序要相同.
4、如果某条SELECT语句中有ORDER BY 语句,请用括号把这条SELECT括起来。如:
(select * from staffA order by id) union (select * from staffB order id);