oracle实现递归查询

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle实现递归查询相关的知识,希望对你有一定的参考价值。

语法

select ... from  表
where 过滤条件
start with 查询结果根结点的限定条件
connect by 连接条件;

 

例子

create table test(

id number,
parent_id number,
name varchar2(100)
);

 

 

假设根节点id为1

全部数据(正向递归)

select * from test start with id=1 connect by prior id =parent_id;

 

 

假设最底层记录id为5

id为5的记录的反向数据(反向递归)

select * from test start with id=5 connect by prior parent_id=id;

 

注意:如果省略了prior关键字,则不会进行深层递归。

 

以上是关于oracle实现递归查询的主要内容,如果未能解决你的问题,请参考以下文章

oracle connect by 递归,反递归,自动补全查询实现

Oracle递归查询:使用prior实现树操作

MySQL怎样做递归查询

java 找到一节点的所有子节点 是否得递归实现?

oracle with 语句实现递归查询

ms sql 2005 递归查询如何实现