语法:
select * from 表名
where 条件1
start with 条件2
connect by prior 当前表字段=级联表字段
start with与connect by prior语句完成递归记录,形成一颗树形结构,通常可以在具有层次结构的表中使用。
start with表示开始的记录
例子:
①:从叶子节点开始递归查询的记录
SQL> select empno,ename from emp
2 start with empno=7566
3 connect by prior mgr=empno;
EMPNO ENAME
---------- ----------
7566 JONES
7839 KING
②:从根节点开始递归查询的记录
SQL> select empno,ename from emp
2 start with empno=7566
3 connect by prior empno=mgr;
EMPNO ENAME
---------- ----------
7566 JONES
7788 SCOTT
7876 ADAMS
7902 FORD
7369 SMITH
start with empno=7566表示从empno=7566的记录开始查询,向叶子的方向递归,递归条件是empno=mgr,当前记录的empno
等于子记录的mgr.
--将emp表数据从根节点层级查询: