首页 > 其他 > 详细

connect by prior id= pid start with id='1' 树结构查询

时间:2018-06-01 14:55:28      阅读:254      评论:0      收藏:0      [点我收藏+]

 

基础表创建:

with temp as (
select ‘公司‘ name, ‘1‘ id, ‘‘ pid from dual union all
select ‘部门1‘  name , ‘11‘ id, ‘1‘ pid from dual union all
select ‘部门2‘  name , ‘12‘ id, ‘1‘ pid from dual union all
select ‘员工11‘ name , ‘111‘ id , ‘11‘ pid from dual union all
select ‘员工12‘ name , ‘112‘ id , ‘11‘ pid from dual union all
select ‘员工21‘ name , ‘121‘ id , ‘12‘ pid from dual 
)

等号左边的字段为基础,查询右边字段=左边字段的

从上往下查

通过根节点可以获取包括该根节点及以下的所有子节点
select * from temp
connect by prior  id= pid
start with id=‘1‘

 技术分享图片

根节点可以多选
select * from temp
connect by prior  id= pid
start with id in (‘11‘ ,‘12‘)

技术分享图片

添加where语句

select * from temp
where id = ‘111‘
connect by prior  id= pid
start with id in (‘11‘ ,‘12‘)

技术分享图片

 从下往上查

select * from temp
connect by prior pid= id 
start with id = ‘121‘

技术分享图片

 

connect by prior id= pid start with id='1' 树结构查询

原文:https://www.cnblogs.com/-beauTiFul/p/9121553.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!