union是联盟的意思,mysql中union是将多个结果集并在一起。合并结果集分为union和union all,两者的语法分别是:[SQL 语句 1] UNION [SQL 语句 2]  和  [SQL 语句 1] UNION ALL [SQL 语句 2]。那么union和union all的区别是什么呢?

mysql union和union all区别

union:对多个结果集进行并集操作,不包括重复行,同时进行排序。效率低,适合获取多个结果集不重复的记录集。

union all:对多个结果集进行并集操作,包括重复行,不进行排序。只是简单的将两个结果合并后就返回,效率高,适合不用对结果进行处理的。

所以,如果可以确认合并的两个结果集中不包含重复数据且不需要排序时的话,那么建议使用union all。