Connect By
1 connect by 提供了对树中所有成员进行报告的手段。它能够排除家族树中的分支或者个别成员,可以自顶向下或者自底向上遍历树,在遍历树的过程中报告遇到的成员。
2 根节点(树干)、节点(带分叉或者不带分叉)、叶(叶节点)
3 假设有个表记录了农场里的牛之间的出生关系——谁是谁生的。(COW母牛BULL公牛OFFSPRING 子女)
4 CONNECT BY语句的执行顺序
a) select
b) from
c) where
d) start with
e) connect by
f) order by
4 startwith offspring = ‘eve’ connect by cow = prior offspring --START With从老祖母开始,Connect By 下一行的cow 等于当前行的offspring ,也就是说,从EVE开始,下一行,是它的Offspring ,从祖宗开始往下数
5 startwith offspring = ‘DELLA’ connect by offspring = prior cow .从最小的DELLA开始,下一行的offspring是当前行的COW,也就是说,找DELLA的妈妈,再找妈妈的妈妈。
6 随CONNECT BY 一起使用的特殊的列Level。Level是一个数字,无论何时使用CONNECT BY子句,都可以在SELECT语句中使用LEVEL列来查每一行属于哪一代。与SYSDATE、 USER一样LEVEL是个伪列。并不是表实际的组成部分,而是在特定环境下才可用。