전체/Oracle
ORACLE 계층형 쿼리 만들기
effortDev
2017. 6. 5. 10:27
ORACLE 계층형 쿼리 만들기 - 1
1 2 3 4 5 6 7 8 | -- START WITH 부모로 지정될 ROOT 행 지정 -- CONNECT BY PRIOR 자식 컬럼 = 부모컬럼 부모에서 자식으로 트리구성 TOP-DOWN 구조 -- 왼쪽에 LEVEL만큼 특수문자 ┖를 추가하여 계층구조로 조회하는 예제 SELECT LEVEL, LPAD('┖', 2*(LEVEL-1)) || ENAME ENAME, EMPNO, MGR, JOB FROM EMP START WITH JOB='PRESIDENT' CONNECT BY PRIOR EMPNO=MGR; | cs |
출력결과
ORACLE 계층형 쿼리 만들기 - 2
1 2 3 4 5 | SELECT LEVEL AS DEPTH, LPAD('┖', 2*(LEVEL-1)) || CODE_CD AS CODE_CD, UPCODE_CD, LPAD('┖', 2*(LEVEL-1)) || CODE_NM AS CODE_NM FROM SYS_CODEINFO START WITH CODE_CD='00000' CONNECT BY PRIOR CODE_CD=UPCODE_CD; | cs |
출력결과
LEVEL, START WITH, CONNECT BY PRIOR 문장을 통해
계층형 쿼리를 작성할 수 있고 현재 코드값과 상위코드값, 코드네임을 계층적으로 출력할 수 있다.