Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;
Union All:对两个结果集进行并集操作,包括重复行,不进行排序;
Union因为要进行重复值扫描,所以效率低。如果合并没有刻意要删除重复行,那么就使用Union All
使用UNION命令时需要注意,只能在最后使用一个ORDER BY命令,是将两个查询结果合在一起之后,再进行排序!绝对不能写两个ORDER BY命令。
另外,在使用ORDER BY排序时,注意两个结果的别名保持一致,使用别名排序很方便。当然也可以使用列数。
UNION 并集,表中的所有数据,并且去除重复数据(工作中主要用到的是这个);
UNION ALL,表中的数据都罗列出来;
那么交集怎么取呢,怎么取得几张表中的重叠的部分呢?(文末提供了一种方法)
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。需要满足以下条件:
1、相同数量的列;
2、列也必须拥有相似的数据类型;
3、同时,每条 SELECT 语句中的列的顺序必须相同。
这三点一定要牢记,下面用一个小例子来说明。