sql并集union和union all的区别

时间:2023-02-04 15:47:02

 

union : 对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;

union all:  对两个结果集进行并集操作,包括重复行,不进行排序;

intersect : 对两个结果集进行交集操作,不包括重复行,同时进行默认规则的排序;

minus : 对两个结果集进行差操作,不包括重复行,同时进行默认规则的排序;

可以使用order by 进行排序

从效率上来讲: 由于union在表连接时会筛选重复的行,而且会按照字段的顺序进行排序,所以union比union all效率高,

如果确认合并的两个结果集中不包括重复的行而且不需要排序的话,可以用union all