Union和Union All的区别

Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;

Union All:对两个结果集进行并集操作,包括重复行,不进行排序;

 

Union因为要进行重复值扫描,所以效率低。如果合并没有刻意要删除重复行,那么就使用Union All

 

使用UNION命令时需要注意,只能在最后使用一个ORDER BY命令,是将两个查询结果合在一起之后,再进行排序!绝对不能写两个ORDER BY命令。

另外,在使用ORDER BY排序时,注意两个结果的别名保持一致,使用别名排序很方便。当然也可以使用列数。

 

UNION 并集,表中的所有数据,并且去除重复数据(工作中主要用到的是这个);

UNION ALL,表中的数据都罗列出来;

那么交集怎么取呢,怎么取得几张表中的重叠的部分呢?(文末提供了一种方法)

UNION 操作符用于合并两个或多个 SELECT 语句的结果集。需要满足以下条件:

1、相同数量的列;

2、列也必须拥有相似的数据类型;

3、同时,每条 SELECT 语句中的列的顺序必须相同。

这三点一定要牢记,下面用一个小例子来说明。

posted @ 2019-05-24 15:44  那些年的代码  阅读(613)  评论(0编辑  收藏  举报