Oracle Hierarchy
CONNECT BY와 재귀 CTE 대응
Oracle의 CONNECT BY PRIOR는 계층 탐색을 위한 전통 문법이고, 재귀 CTE와 비슷한 요소로 해석할 수 있습니다.
START WITH
CONNECT BY
LEVEL/PATH/정렬
START WITH
Anchor
manager_id IS NULL처럼 탐색의 출발 행을 정합니다.
→
CONNECT BY PRIOR
Recursive JOIN
부모 emp_id와 자식 manager_id의 반복 연결 규칙입니다.
→
LEVEL · PATH
Traversal output
깊이, 경로, 형제 정렬을 계층 결과에 함께 붙입니다.
Oracle
재귀 CTE 관점
역할
START WITH
Anchor SELECT
시작 행 선택
CONNECT BY PRIOR
Recursive JOIN
부모-자식 연결
LEVEL / PATH
depth / path 컬럼
깊이와 경로 표시
ORDER SIBLINGS BY
동일 부모 내 정렬
계층 순서 보존
NOCYCLE
CYCLE 방어
순환 참조 차단
레거시 Oracle 쿼리를 읽을 때는 START WITH가 시작점, CONNECT BY가 반복 조건이라는 축으로 보면 이해가 빠릅니다.