ORACLE 递归查询

最近编程时发现不少情况下都需要根据组织代码查询上级机构或者根据本级机构查询下级机构,本帖用oracle自带的实例测试一下,示例表为scott.emp:

示例数据为:

ORACLE 递归查询

查询每个雇员及其下属:

SELECT lpad(' ',LEVEL*2)||empno||':'||ename FROM emp 

START WITH mgr IS NULL

CONNECT BY PRIOR empno=mgr;

效果如下:

ORACLE 递归查询

查询某人上司:

SELECT  lpad( ' ',(LEVEL))||empno,LEVEL FROM emp 

START WITH empno=7369  

CONNECT BY PRIOR mgr=empno  

 

你可能感兴趣的:(oracle;sql,;,;pl/sql,级联查询,;层次查询)