日期:2014-05-16 浏览次数:20379 次
总结:
集合操作是对多个查询结果进行并集,差集,交集的操作,都不忽略null
行, 除了union all 默认不做排序和剔除重复行的操作外,
union,minus,intersect都默认按第1个查询结果的第1列进行升序排列,并且
不包含重复行。
对集合运算的结果要排序,只能在最后一个select 后面排序,是对整个集
合操作进行排序,而不是对最后一个select 进行排序,排序选择的列必须是第
1 个select 中出现的列,如果有别名,则使用别名,不能选用没有查询出来的
列(这和普通的order by不一样,普通的order by可以选用不在select中的列
排序),当然可以按位置指定order by,比如order by 1 desc,就是按第1列降
序。
在业务要求允许的情况下,能使用union all 就不要使用union,因为union
all不做排序剔重操作,使用union all效率方面要好点。