Oracle查询树型关系(start with connect by prior)
2017-03-15 15:35
561 查看
用于B树结构类型的数据递归查询,给出B树结构类型中的任意一个结点,遍历其最终父结点或者子结点:
select * from dept_test_demo
如上图所示,1是父部门,2,3是1的子部门;21、22、23是2的子部门,222是22的子部门;31、32、33是3的子部门,333是33的子部门。
现在我们查看部门2及其所有子部门
select * from dept_test_demo d start with d.dept = 2 connect by prior d.dept = d.parent_dept
现在我们查看部门2及其所有父部门
select * from dept_test_demo d start with d.dept = 2 connect by d.dept = prior d.parent_dept
--创建测试表 create table dept_test_demo ( id VARCHAR2(5) not null, dept VARCHAR2(5), parent_dept VARCHAR2(5) ) --插入数据 insert into dept_test_demo(id,dept,parent_dept) values ('1','1',''); insert into dept_test_demo(id,dept,parent_dept) values ('2','2','1'); insert into dept_test_demo(id,dept,parent_dept) values ('3','3','1'); insert into dept_test_demo(id,dept,parent_dept) values ('4','21','2'); insert into dept_test_demo(id,dept,parent_dept) values ('5','22','2'); insert into dept_test_demo(id,dept,parent_dept) values ('6','23','2'); insert into dept_test_demo(id,dept,parent_dept) values ('7','222','22'); insert into dept_test_demo(id,dept,parent_dept) values ('8','31','3'); insert into dept_test_demo(id,dept,parent_dept) values ('9','32','3'); insert into dept_test_demo(id,dept,parent_dept) values ('10','33','3'); insert into dept_test_demo(id,dept,parent_dept) values ('11','333','33');
select * from dept_test_demo
如上图所示,1是父部门,2,3是1的子部门;21、22、23是2的子部门,222是22的子部门;31、32、33是3的子部门,333是33的子部门。
现在我们查看部门2及其所有子部门
select * from dept_test_demo d start with d.dept = 2 connect by prior d.dept = d.parent_dept
现在我们查看部门2及其所有父部门
select * from dept_test_demo d start with d.dept = 2 connect by d.dept = prior d.parent_dept
相关文章推荐
- 【转】ORACLE查询树型关系(start with connect by prior)
- ORACLE查询树型关系(connect by prior start with)
- ORACLE查询树型关系(start with connect by prior)
- ORACLE查询树型关系(connect by prior start with)
- ORACLE查询树型关系(start with connect by prior)
- ORACLE查询树型关系(connect by prior start with)
- ORACLE查询树型关系(connect by prior start with)
- ORACLE查询树型关系(connect by prior start with) .
- ORACLE查询树型关系(connect by prior start with)
- ORACLE查询树型关系(connect by prior start with)
- mysql的逆袭:如何做oracle的start with connect by prior递归层次查询
- MySql的sql语句中添加存储过程或者存储函数来实现Oracle中的start with ……connect by prior……递归(树形结构数据)查询
- oracle递归层级查询 start with connect by prior
- oracle树形结构层级查询之start with ....connect by prior、level、order by以及sys_connect_by_path之浅谈
- ORACLE树查询,start with ... connect by prior ...
- Oracle 迭代查询 CONNECT BY PRIOR ……START WITH ……
- Oracle 迭代查询 CONNECT BY PRIOR ……START WITH ……
- oracle树结构查询(start with connect by prior )
- Oracle实现树查询:select ... start with ... connect by prior
- ORACLE树查询,start with connect by prior