union和union all的区别,别再傻傻分不清楚了!
union和union all的区别
- 一、 显示结果不同
- 二、对重复结果的处理不同
- 三、对排序的处理不同
- 四、测试验证
- 1.创建user表并插入测试数据
- 2.通过union关联查询,发现结果自动去重
- 3.通过union all关联查询,发现结果查询所有,并未去重
一、 显示结果不同
union会自动压缩多个结果集合中的重复结果,而union all则将所有的结果集全部显示出来
二、对重复结果的处理不同
union all是直接连接,取到的是所有值,记录可能有的重复;union是取唯一值,记录没有重复。
所以union在进行表链接后会筛选掉重复的记录,union all不会去除重复记录。
三、对排序的处理不同
union会按照字段的顺序进行排序;union all 只是将两个结果集合并后就返回。从效率上讲,union all要比 union快的多,所以如果确定合并的两个结果集中没有重复且不需要排序就用Union all。