union all和union的区别

最近处理工作中发现明细数据缺失了很多,排查中发现是union和union all使用不当导致,上网搜了一下两者的区别,简单记录一下

 

一、区别1:

1、union: 对两个结果集进行并集操作, 不包括重复行,相当于distinct, 同时进行默认规则的排序;

2、union all: 对两个结果集进行并集操作, 包括重复行, 即所有的结果全部显示, 不管是不是重复;

 

 

 

二、区别2:

1、union: 会对获取的结果进行排序操作

2、union all: 不会对获取的结果进行排序操作

 

 

 

 

select * from Table1  
union   
select * from Table2  

  

 

 

select * from Table1  
union all  
select * from Table2  

 

三、总结

union all只是合并查询结果,并不会进行去重和排序操作,在没有去重的前提下,使用union all的执行效率要比union高

posted @ 2021-07-31 00:42  大木瓜  阅读(688)  评论(0编辑  收藏  举报