Oracle connect by 层级结构查询
Posted N神3
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle connect by 层级结构查询相关的知识,希望对你有一定的参考价值。
公司组织架构表:organization
一、查询子级
select * from organization
start with id=\'1\'
connect by prior id = parent_id
解析:
1、首先找出id=1的记录
2、prior在那一边,则取上条记录那个字段。例如上面prior与id一起,则取上面查找出来记录id与表parent_id匹配,符合id = parent_id则找出来。
二、查询父级
select * from organization
start with id = 7;
connect by id = prior parent_id
解析:
1、首先找出id=7的记录
2、prior在那一边,则取上条记录那个字段。例如上面prior与parent_id一起,则取上面查找出来记录parent_id与表id匹配,符合parent_id = id 则找出来。
三、通俗理解
prior id = pid:以当前start with的记录id去匹配其它记录的pid(即:子找父)
id = prior pid:以当前start with的记录pid去匹配其它记录的id(即:父找子)
以上是关于Oracle connect by 层级结构查询的主要内容,如果未能解决你的问题,请参考以下文章