728x90
계층형 쿼리 : 부모, 자식 간의 수직관계를 트리 구조 형태로 보여주는 쿼리

START WITH : 트리 구조의 최상위 행을 지정합니다.

CONNECT BY : 부모, 자식의 관계를 지정합니다.

PRIOR : CONNECT BY 절에 사용되며 PRIOR에 지정된 컬럼이 맞은편 컬럼을 찾아갑니다.

CONNECT BY PRIOR 자식 컬럼 = 부모 컬럼 : 부모 → 자식 순방향 전개

CONNECT BY PRIOR 부모 컬럼 = 자식 컬럼 : 자식 → 부모 역방향 전개

ORDER SIBLINGS : 계층형 쿼리에서 정렬을 수행합니다.
SELECT
ROWNUM as orgSort, DEPT_ID , DEPT_NAME
FROM DEPT
START WITH DEPT_ID = 'D9394'
CONNECT BY PRIOR DEPT_ID = UP_DEPT_IDX 
AND DEPT_CD IS NOT null
ORDER SIBLINGS BY DEPT_ORDER;


SELECT
ROWNUM as orgSort, DEPT_ID , DEPT_NAME
FROM DEPT
START WITH DEPT_ID = 'D9394'
CONNECT BY PRIOR UP_DEPT_IDX = DEPT_ID
AND DEPT_CD IS NOT null
ORDER SIBLINGS BY DEPT_ORDER;

 


오라클 LISTAGG 함수 사용법 (중복제거, 정렬, 컬럼 합치기)

LISTAGG([합칠 컬럼명], [구분자]) WITHIN GROUP(ORDER BY [정렬 컬럼명])

 

728x90

+ Recent posts