Oracle递归树

例子下载:

http://yunpan.cn/cLY4v5hdQeMY6 (提取码:ae65)

语法:

select ... from <TableName>
        where <Conditional-1>  //过滤
        start with <Conditional-2>  //递归起点
        connect by <Conditional-3>;  //连接限定

注意:

1、prior放在子节点端,则表示扫描树是以start with指定的节点作为根节点从上往下扫描

2、prior放在父节点端,则表示扫描树是以start with指定的节点作为最低层子节点,从下往上扫描。

3、去掉prior关键字表示不进行递归

例子截图:

 

Oracle递归树

Oracle递归树

Oracle递归树

Oracle递归树

Oracle递归树

Oracle递归树

//查询全路径,但是是倒过来的,需要转换。如果不加上where connect_by_isleaf ='1'",那么就会找出多层节点父节点的多个路径

Oracle递归树

Oracle递归树

//子节点找父节点,功能:也可以找全路径,去后台遍历

Oracle递归树

//查询是否有子节点

 Oracle递归树

 

转载于:https://my.oschina.net/u/2472104/blog/530077