본문 바로가기
Dev/Oracle

[Oracle] 계층구조 쿼리

by 흰바다제비 2022. 6. 14.
728x90

계층구조

 
https://m.blog.naver.com/adboard/221695088968

계층형 구조란 상하 수직관계의 트리형태의 구조로 이루어진 형태를 말한다.

계층형 쿼리는 테이블에 저장된 데이터를 계층형 구조로 반환하는 쿼리를 말한다.

 

수행 순서

  1. START WITH
  2. CONNECT BY
  3. WHERE

 

 

CONNECT BY

: PRIOR 연산자와 함께 사용하여 계층 구조로 표현할 수 있다.

  • CONNECTED BY PRIOR 자식컬럼 = 부모컬럼
    • 부모에서 자식으로 트리 구성 (TOP DOWN)
  • CONNECTED BY PRIOR 부모컬럼 = 자식컬럼
    • 자식에서 부모로 트리 구성 (BOTTOM UP)

 

 

SELECT DEPT_NAME, DEP_CD, PARENT_CD, LEVEL
FROM COMPANY
START WITH PARENT_CD IS NULL
CONNECT BY PRIOR DEP_CD = PARENT_CD;

 

SELECT LPAD(' ', 4*(LEVEL-1)) || DEPT_NAME AS DEPT_NAME,
    DEP_CD, PARENT_CD, LEVEL
FROM COMPANY
START WITH PARENT_CD IS NULL
CONNECT BY PRIOR DEP_CD = PARENT_CD;

 
 

예제 출처 ) https://coding-factory.tistory.com/461

 

[Oracle] 오라클 계층형 쿼리(START WITH.. CONNECT BY)

계층형 쿼리란? 계층형 구조는 상하 수직관계의 트리형태의 구조로 이루어진 형태를 말합니다. 예를 들자면 특정회사의 부서, 특정학교의 학과등이 있습니다. 계층형 쿼리는 테이블에 저장된

coding-factory.tistory.com

추가 예제 ) https://m.blog.naver.com/javaking75/220010288704

 

[오라클] 계층형 쿼리 ( START WITH ... CONNECT BY )

계층형 쿼리(Hierarchical Query)는 오라클에서만 지원하고 있는 아주 막강한 기능 중의 하나다. 관계형(...

blog.naver.com

 

 

728x90

'Dev > Oracle' 카테고리의 다른 글

[Oracle] 조인 정리  (0) 2022.06.16
[Oracle] 대기 이벤트  (0) 2022.06.15
[Oracle] 스칼라 서브쿼리, 인라인뷰, 서브쿼리  (0) 2022.06.13
[Oracle] WINDOW FUNCTION 윈도우 함수  (0) 2022.06.12
[Oracle] Oracle Lock Test  (0) 2022.06.10

댓글