最近编程时发现不少情况下都需要根据组织代码查询上级机构或者根据本级机构查询下级机构,本帖用oracle自带的实例测试一下,示例表为scott.emp:
示例数据为:
查询每个雇员及其下属:
SELECT lpad(' ',LEVEL*2)||empno||':'||ename FROM emp
START WITH mgr IS NULL
CONNECT BY PRIOR empno=mgr;
效果如下:
查询某人上司:
SELECT lpad( ' ',(LEVEL))||empno,LEVEL FROM emp
START WITH empno=7369
CONNECT BY PRIOR mgr=empno