개발

ORACLE 계층형쿼리

플리트우드 2020. 12. 19. 15:32

출처: <https://thebook.io/006696/part01/ch07/01/03/>

 

오라클 SQL과 PL/SQL을 다루는 기술: 계층형 쿼리 심화학습

 

thebook.io

 

-- CONNECT BY 실행순서

 1) START WITH

 2) CONNECT BY

 3) WHERE

ORDER BY, GROUP BY를 쓰면 계층형 구조가 깨져버리기 때문에 굳이 정렬이 필요하면, 계층성을 훼손하지 않는 ORDER SIBLINGS BY를 사용한다. 같은 부모를 가진 로우, 즉 레벨이 같은 형제 로우에 한해서 정렬한다.

 

CONNECT_BY_ISLEAF는 CONNECT BY 조건에 정의된 관계에 따라 해당 로우가 최하위 자식(Leaf) 로우이면 1을, 그렇지 않으면 0을 반환하는 의사 컬럼