union在进行表求并集后会去掉重复的元素,所以会对所产生的结果集进行排序运算,删除重复的记录再返回结果。
union all则只是简单地将两个结果集合并后就返回结果。因此,如果返回的两个结果集中有重复的数据,那么返回的结果就会包含重复的数据。
从上面的对比可以看出,在执行查询操作时,union all要比union快很多,所以,如果可以确认合并的两个结果集中不包含重复的数据,那么最好使用union all。例如,现有两个学生表Table1和Table2:
执行语句:
select * from Table1 union select * from Table2查询结果如下:
执行语句:
select * from Table1 union all select * from Table2查询结果如下:
本文介绍了SQL中Union和Union All的区别。Union用于合并多个查询结果,并去除重复记录;而Union All则是简单地合并所有记录,保留重复项。通常情况下,如果确认数据中没有重复记录,则使用Union All会更高效。

1347

被折叠的 条评论
为什么被折叠?



