START WITH CONNECT BY PRIOR子句实现递归查询,主要用于查询数据中的树型结构关系[父子关系]

      假设数据库中有表名table_1而table_1中有两列num1,num2。num1是num2的父亲节点。

1.自底向上查找父子关系:

select num1,num2,level 

from  table_1

start with num2=1008 

connect by  num2=prior num1 order by level desc;

   解释:首先查询num2为1008的数据,然后通过本条数据的num1等于下条数据的num2来进行递归查询。

2.自顶向下查找父子关系

select num1,num2,level 

from table_1

start with num2=1008 

connect by prior  num2= num1 order by level desc;

    解释:首先查询num2为1008的数据,然后通过本条数据的num2等于下条数据的num1来进行递归查询。

总结:

      prior 放的位置决定了是自顶向下还是自底向上查询,即决定了是查找父亲节点还是查找孩子节点。prior 后面跟着的列代表的是本条记录中的列。level代表在树形结构中的等级。

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值