您的位置:首页 > 其它

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

2015-12-10 14:43 232 查看
假设数据库中有表名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 放的位置决定了是自顶向下还是自底向上查询,即决定了是查找父亲节点还是查找孩子节点。[b]prior 后面跟着的列代表的是本条记录中的列。level代表在树形结构中的等级。
[/b]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: