Database/Oracle
Oracle 계층구조쿼리
xProgrammer
2018. 3. 19. 09:56
스키마
http://xprogrammer.tistory.com/333
쿼리
SELECT LEVEL, CONNECT_BY_ISLEAF,
LPAD('-', 4*(LEVEL-1),'-') || ename level_ename, ENAME,
PRIOR ename mgrname,
empno, mgr, job
FROM emp
-- 최상위로 사용될 행 지정
START WITH job='PRESIDENT'
-- 상위계층과 하위계층의 관계를 정의
CONNECT BY PRIOR empno=mgr
-- 같은 LEVEL 사이에서의 정렬
ORDER SIBLINGS BY ENAME
결과
쿼리
SELECT LEVEL,
CONNECT_BY_ISLEAF,
CONNECT_BY_ISCYCLE,
LPAD('-', 4*(LEVEL-1),'-') || ename ename,
PRIOR ename mgrname,
empno, mgr, job
FROM emp
START WITH empno = '7369'
CONNECT BY NOCYCLE PRIOR mgr = empno;
결과
테스트