正在编写oracle高级sql开发指南,包含开发中常用的oracle sql技术,以及复杂的sql分析技术,性能调整等问题。并且收录一些比较优秀的sql。下面是暂定目录:
Advanced sql in oracle
5.层次查询(Hierarical Retrival) 11
1.集合操作
学习oracle中集合操作的有关语句,掌握union,union all,minus,interest的使用,能够描述结合运算,并且能够将多个查询组合到一个查询中去,能够控制行返回的顺序。
包含集合运算的查询称为复合查询。见表格1-1
表1-1
Operator | Returns | content |
UNION | 由每个查询选择的所有不同的行 | 并集不包含重复值 |
UNION ALL | 由每个查询选择的所有的行,包括所有重复的行 | 完全并集包含重复值 |
INTERSECT | 由两个查询选择的所有不同的行 | 交集 |
MINUS | 由第一个查询选择的所有不同的行 | 差集 |
所有的集合运算与等号的优先级相同,如果SQL语句包含多个集合运算并且没有圆括号明确地指定另一个顺序,Oracle服务器将以从左到右的顺序计算。你应该使用圆括号来明确地指定带另外的集合运算的INTERSECT (相交) 运算查询中的赋值顺序。
Union all 效率一般比union高。
1.1.union和union all
UNION(联合)运算
UNION运算返回所有由任一查询选择的行。用UNION运算从多表返回所有行,但除去任何重复的行。
原则 :