zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

【项目实战】MySQL中union和union all的相同点与不同点

mysql项目 实战 all union
2023-09-14 09:14:14 时间

一、union和union all的相同点

在MySQL中,Union和Union All都是用来合并两个或者多个查询结果集的关键字

二、union和union all的不同点

union复杂,union all简单

2.1 自动压缩,自动求并集、去重、排序操作

(1)union
返回的查询结果是把两个查询结果集中的重复数据去除的
自动压缩多个结果集合中的重复结果
不仅对多个sql的查询结果做了合并,还在合并的基础上做了默认排序,同时还去除了重复行
在进行表链接后,会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。
(2)union all
不会去掉重复的数据
只是简单的将两个结果合并后就返回
将所有的结果全部显示出来,不管是不是重复。

2.2 处理速度不同

(1)union
速度较慢
(2)union all
比union快很多
查询的速度会比Union快
因为Union All不需要比较每一行,以确定是否重复。

2.3 使用场景不同

(1)union
对查询结果进行排序、去重
最常见的是过程表与历史表Union
(2)union all
不对查询结果进行排序、去重的话
如果合并的两个结果集中,不包含重复数据,且不需要排序时