2022년/Developement

오라클 계층형 쿼리

위지원 2022. 7. 11. 17:05

아래처럼 있으면 계층적 정렬을 하는 쿼리이다. 

SELECT C_3
FROM TABLE
START WITh C_2 IS NULL
CONNECT BY PRIOR C1=C2
ORDER SIblIngS BY C_3 DESC

C_2 IS NULL: Root Row의 조건이고 부모를 비교한 뒤 자식을 비교하여 정렬

이때, CONNECT BY PRIOR 뒤에 2가지 경우를 둘 수 있는데

  1. 부모=자식
  2. 자식=부모

이 부분은 계층의 방향을 결정할 수 있다. 한참을 이해못했는데 아래 블로그 포스팅을 보면 이해가 쉽다.

 

오라클 계층형 쿼리 _ ORACLE

계층형 쿼리 | Hierarchical Query 테이블에 계층형 데이터가 존재할 경우 사용 조직, 사원, 메뉴등의 순...

blog.naver.com

그리고 더 많은 예제는 아래에.. 햇갈려죽겠다 아직은..

 

오라클 계층쿼리 두번째!! CONNECT BY PRIOR

Connect by 계층적 쿼리는 오라클만이 가진 기능 중 하나로, 데이터를 선택하여 계층적인 순서 그대로 리턴하는데 사용된다. 예를 들면, 아래와 같이 직원 테이블이 있다고 생각 하자. 직원 직속상

valuableinfo.tistory.com