博客系统做网站深圳营销型网站建设设计公司
一、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
 不对查询结果进行排序、去重的话
 如果合并的两个结果集中,不包含重复数据,且不需要排序时
