今天晚上在操作两个表时才发现两个的区别。呵呵。
union 将两个表连接后删除其重复的项;
union all 将两个表连接都不删除其重复的项。
这个东东很简单。不过也记录一哈 。实在是一个小小的收获。
补充资料:
数据库中,UNION和UNION ALL都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同。
UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。实际大部分应用中是不会产生重复的记录,最常见的是过程表与历史表UNION。如:
select * from users1 union select * from user2
这个SQL在运行时先取出两个表的结果,再用排序空间进行排序删除重复的记录,最后返回结果集,如果表数据量大的话可能会导致用磁盘进行排序。
而UNION ALL只是简单的将两个结果合并后就返回。这样,如果返回的两个结果集中有重复的数据,那么返回的结果集就会包含重复的数据了。
从效率上说,UNION ALL 要比UNION快很多,所以,如果可以确认合并的两个结果集中不包含重复的数据的话,那么就使用UNION ALL,如下:
select * from user1 union all select * from user2
union 将两个表连接后删除其重复的项;
union all 将两个表连接都不删除其重复的项。
这个东东很简单。不过也记录一哈 。实在是一个小小的收获。
补充资料:
数据库中,UNION和UNION ALL都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同。
UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。实际大部分应用中是不会产生重复的记录,最常见的是过程表与历史表UNION。如:
select * from users1 union select * from user2
这个SQL在运行时先取出两个表的结果,再用排序空间进行排序删除重复的记录,最后返回结果集,如果表数据量大的话可能会导致用磁盘进行排序。
而UNION ALL只是简单的将两个结果合并后就返回。这样,如果返回的两个结果集中有重复的数据,那么返回的结果集就会包含重复的数据了。
从效率上说,UNION ALL 要比UNION快很多,所以,如果可以确认合并的两个结果集中不包含重复的数据的话,那么就使用UNION ALL,如下:
select * from user1 union all select * from user2
标签:
union,union_all
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
岱庙资源网 Copyright www.zgmyg.com
暂无“数据库中union 与union all 的区别”评论...
更新日志
2024年05月15日
2024年05月15日
- 与非门.2010-10乐园【中唱】【WAV+CUE】
- 崩坏星穹铁道2.2枪火的试炼怎么解锁 枪火试炼隐藏挑战攻略
- 崩坏星穹铁道2.2时间的试炼怎么解锁 时间试炼隐藏挑战攻略
- dnf纳瑟乌森林怎么去
- 群星-阿里郎故乡三韵-2011-WAV分轨
- 王力宏《力宏二十二十周年唯一精逊【Hi-Res】24-96FLAC
- DanielLozakovich-Tchaikovsky_NonebuttheLonelyHeart(2019)【Hi-Res】24bit-96kHz【flac】
- 《COD》新作会首发加入XGP吗?Xbox总裁回应
- 《消逝的光芒》玩家数量飙升330%!游戏打折立大功
- 美女COS《鬼泣5》妮可:魅惑吐舌 狂气爆棚
- SupperMoment2010-旅程【东亚唱片】【FLAC分轨】
- 群星.1997-华星廿五周年精选系列·四大女后18首【华星】【WAV+CUE】
- 许佳琪.2024-4.Letters.Long(坠)【丝芭文化】【FLAC分轨】
- 前《地狱潜者2》首席编剧:最初它并不是实时服务游戏
- 《生化危机》官推庆祝母亲节:视频中母爱扑面而来