1、UNION 的语法:

[SQL 语句 1]
UNION
[SQL 语句 2]


2、UNION ALL 的语法:

[SQL 语句 1]
UNION ALL
[SQL 语句 2]

3、UNION和UNION ALL效率:

UNION和UNION ALL关键字都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同。

1、对重复结果的处理:UNION在进行表链接后会筛选掉重复的记录,Union All不会去除重复记录。

2、对排序的处理:Union将会按照字段的顺序进行排序;UNION ALL只是简单的将两个结果合并后就返回。

从效率上说,UNION ALL 要比UNION快很多,所以,如果可以确认合并的两个结果集中不包含重复数据且不需要排序时的话,那么就使用UNION ALL。

注意:两个要联合的SQL语句字段个数必须一样,而且字段类型要“相容”(一致);

4、union和union all关键字需要注意: 

union 和 union all都可以将多个结果集合并,而不仅仅是两个,你可以将多个结果集串起来。 

使用union和union all必须保证各个select 集合的结果有相同个数的列,并且每个列的类型是一样的。但列名则不一定需要相同,oracle会将第一个结果的列名作为结果集的列名。

Union:对两个结果集进行并集操作,进行去重按默认规则的排序

Union All:对两个结果集进行并集操作,不去重不进行排序

例子: 

union/union all

union/union all

union/union all

union/union all

相关文章: