본문 바로가기

Paul Work/Sql

CONNECT BY~ 와 ORDER SIBLINGS BY

ORDER SIBLINGS BY : 특정 컬럼에 대한 Order by를 실행(조회된 데이터에 대해)
CONNECT BY           : 상위 코드와 하위 코드를 이용하여  Tree 형태로 보여줄수 있는 것

SELECT ORG_CODE,
             ORG_NAME,
             LEVEL AS ORG_LEVEL,
             CONNECT_BY_ISLEAF AS LEAF_YN,
             DISP_RNK
  FROM TH_ORG
 START WITH ORG_CODE  = '20060007'
CONNECT BY PRIOR ORG_CODE = UPORG_CODE
ORDER SIBLINGS BY DISP_RNK ;

붉은색 부분은

ORDER SIBLINGS BY 미적용
======================================================
ORG_CODE ORG_NAME ORG_LEVEL LEAF_YN DISP_RNK
20060009 A 5 1 11
20060010 B 5 1 14
20060011 C 5 1 15
20090005 D 5 1 12
20090006 E 5 1 13
ORDER SIBLINGS BY 적용
======================================================
ORG_CODE ORG_NAME ORG_LEVEL LEAF_YN DISP_RNK
20060009 A 3 1 11
20090005 D 3 1 12
20090006 E 3 1 13
20060010 B 3 1 14
20060011 C 3 1 15

위와 같은 형태로 정렬을 하여준다.