oracle union 及union all用法及区别
union 用法
union指令的目的是将两个sql语句的结果合并起来,可以查看你要的查询结果。
使用uniton需要满足的条件。
1 所有查询中必须有相同的结构(即查询中的列数和列的顺序必须相同)。
2 对应列的数据类型可以不同但是必须兼容(所谓的兼容是指两种类型之间可以进行隐式转换,不能进行隐式转换则报错)。也可以用显示转换为相同的数据类型
(当数据类型不同时,则根据数据类型优先级规则确定所产生的数据类型。若果类型相同,但是精度、小数位数不同,则根据用于合并表达式相同的规则来确定结果)
3、如果为XML数据类型则列必须等价(所有的列都必须化为XML架构,或者非类型化)。如果类型化,这些列必须化为相同的XML架构集合。
union结果集
1、union后的结果集的列名与第一个select语句的结果集中的列名相同,另一个select语句的结果集列名将被忽略。
2、union默认的删除结果集中重复的记录,如果使用All关键字则结果集中保留所有记录(保留重复记录)
出自:http://www.open-open.com/doc/view/09e6987357e14cd4bb5267e218c5abed