sql 中union和union all的区别

union在进行表求并集后会去掉重复的元素,所以会对所产生的结果集进行排序运算,删除重复的记录再返回结果。

union all则只是简单地将两个结果集合并后就返回结果。因此,如果返回的两个结果集中有重复的数据,那么返回的结果就会包含重复的数据。

从上面的对比可以看出,在执行查询操作时,union all要比union快很多,所以,如果可以确认合并的两个结果集中不包含重复的数据,那么最好使用union all。例如,现有两个学生表Table1和Table2:

执行语句:

sql 中union和union all的区别
select * from Table1 union select * from Table2

查询结果如下:

sql 中union和union all的区别

执行语句:


select * from Table1 union all select * from Table2

查询结果如下:

sql 中union和union all的区别

上一篇:MySQL分表后查询所有表中的记录


下一篇:python 类型提示