admin管理员组文章数量:1487745
union和union all的区别
一、区别1:取结果的交集 1、union: 对两个结果集进行并集操作, 不包括重复行,相当于distinct, 同时进行默认规则的排序; 2、union all: 对两个结果集进行并集操作, 包括重复行, 即所有的结果全部显示, 不管是不是重复;
二、区别2:获取结果后的操作 1、union: 会对获取的结果进行排序操作 2、union all: 不会对获取的结果进行排序操作
三、区别3:
代码语言:javascript代码运行次数:0运行复制建立表脚本:
CREATE TABLE `student` (
`id` int NOT NULL AUTO_INCREMENT,
`username` varchar(20) DEFAULT NULL,
`sex` int DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb3
student表测试数据:
id username sex
------ --------- --------
1 xiaoming 1
2 xiaohua 0
3 hanmeimei 0
4 allen 1
5 penguin 1
CREATE TABLE `student2` (
`id` int NOT NULL AUTO_INCREMENT,
`username` varchar(20) DEFAULT NULL,
`sex` int DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb3
student2表测试数据:
id username sex
------ --------- --------
1 xiaoming 1
2 xiaohua 0
3 hanmeimei 0
4 allen 1
5 justin 1
1、union看到结果中去重和排序结果
SELECT * FROM student
UNION
SELECT * FROM student2
查询返回数据视图
id username sex
------ --------- --------
1 xiaoming 1
2 xiaohua 0
3 hanmeimei 0
4 allen 1
5 penguin 1
5 justin 1
2、union all 结果中的结果合并
SELECT * FROM student
UNION ALL
SELECT * FROM student2
查询返回数据视图
id username sex
------ --------- --------
1 xiaoming 1
2 xiaohua 0
3 hanmeimei 0
4 allen 1
5 penguin 1
1 xiaoming 1
2 xiaohua 0
3 hanmeimei 0
4 allen 1
5 justin 1
四、总结 union all只是合并查询结果,并不会进行去重和排序操作,在没有去重的前提下,使用union all的执行效率要比union高
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2022-07-25,如有侵权请联系 cloudcommunity@tencent 删除union脚本排序数据效率本文标签: union和union all的区别
版权声明:本文标题:union和union all的区别 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/shuma/1754984238a3182087.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论