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高


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM