oracle递归查询

start with connect by prior 递归查询用法

这个子句主要是用于B树结构类型的数据递归查询,给出B树结构类型中的任意一个结点,遍历其最终父结点或者子结点。

 1 create table a_test
 2 ( parentid varchar2(10),
 3   subid    varchar2(10));
 4 
 5 insert into a_test values ( '1', '2' );
 6 insert into a_test values ( '1', '3' );
 7 insert into a_test values ( '2', '4' );
 8 insert into a_test values ( '2', '5' );
 9 insert into a_test values ( '3', '6' );
10 insert into a_test values ( '3', '7' );
11 insert into a_test values ( '5', '8' );
12 insert into a_test values ( '5', '9' );
13 insert into a_test values ( '7', '10' );
14 insert into a_test values ( '7', '11' );
15 insert into a_test values ( '10', '12' );
16 insert into a_test values ( '10', '13' );
17 
18 commit;
19 
20 select * from a_test;

插入后的数据为

接下来看一个示例:

要求给出其中一个结点值,求其最终父结点。以7为例,看一下代码

今天面试遇到了问Oracle有自己的递归查询,依次总结下。

 

posted @ 2018-06-27 18:22  陈灬大灬海  阅读(214)  评论(0编辑  收藏  举报