본문 바로가기

DB-Oracle

oracle CONNECT BY 계층구조 쿼리에 대한 이해

728x90
반응형

--//1. CONNECT BY
--//계층구조를 표현해라
SELECT PARENT_DPT, DPT_COD
FROM TBL_DPT
WHERE COMP_TYPE   = '03'
CONNECT BY DPT_COD = PARENT_DPT


--//2. + PRIOR
--//어디기준으로 어디로 내려갈래??
SELECT PARENT_DPT, DPT_COD
FROM TBL_DPT
WHERE COMP_TYPE   = '03'
CONNECT BY PRIOR DPT_COD = PARENT_DPT


--//3. + START WITH
--//어디서부터 출발할래??
SELECT PARENT_DPT, DPT_COD
FROM TBL_DPT
WHERE COMP_TYPE   = '03'
CONNECT BY PRIOR DPT_COD = PARENT_DPT
START WITH DPT_COD = '600108'


--//4. + SYS_CONNECT_BY_PATH
--//자신의 계층구조를 콤마에 연결해서 한줄로 표기한다.
SELECT LEVEL
    , PARENT_DPT
    , DPT_COD
    , LPAD(' ', LEVEL*5) || SYS_CONNECT_BY_PATH(DPT_COD, '/') AS DPT_PATH
FROM TBL_DPT
WHERE COMP_TYPE   = '03'
CONNECT BY PRIOR DPT_COD = PARENT_DPT
START WITH DPT_COD = '600108'

728x90
반응형

'DB-Oracle' 카테고리의 다른 글

계층구조 조회쿼리  (0) 2022.12.01
10000줄짜리 임의데이터 쿼리작업  (0) 2022.12.01
oracle DB 리스너 IP 및 포트 변경 법  (0) 2022.12.01
oracle 달력출력 쿼리  (0) 2022.12.01
AWS RDS - 옵티마이져 설정chk 관리  (0) 2022.11.29