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 문장을 통해


계층형 쿼리를 작성할 수 있고 현재 코드값과 상위코드값, 코드네임을 계층적으로 출력할 수 있다.



+ Recent posts