之前只知道union和union all的区别在于是否对记录去重,最近开发过程中发现还有一个区别,记录下:
1、union会对两个结果集并集操作并去重,同时进行默认规则的排序
2、union all会对两个结果集并集操作但不会去重,不会进行排序
是否去重大家都知道,但排序是怎么回事呢?
union进行默认规则的排序,是指对两个或多个结果集合并后,按照查出字段的先后顺序进行排序,比如查出的字段为key1,key2,key3,则相当于对并集的结果进行order by key1,key2,key3