例表:
Table1:
Table2:
Id为1的记录是重复的。
使用union:
select * from Table1
union
select * from Table2;
结果:
使用union all:
select * from Table1
union all
select * from Table2;
结果:
分析:使用union时,重复记录只显示一条,并且自动按照id进行了排序;使用union all时,重复的记录没有去重,并且是按照两张表中的顺序来的,没有进行排序。
总结:
union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;
union all:对两个结果集进行并集操作,包括重复行,不进行排序;