계층형 쿼리 (23.08.30)

·2023년 8월 30일
0

Oracle

목록 보기
15/15
post-thumbnail

🌷 계층형 쿼리

(START WITH, CONNECT BY, ORDER SIBLING BY)
상위 타입과 하위 타입간의 관계를 계층식으로 표현할 수 있게 하는 질의어 (SELECT)

- START WITH

상위 타입(최상위 부모)으로 사용될 행을 지정 (서브쿼리로 지정 가능)

- CONNECT BY

상위 타입과 하위 타입 사이의 관계를 규정
PRIOR(이전의) 연산자와 같이 사용하여 현재 행 이전에 상위 타입 또는 하위 타입이 있을지 규정

1) 부모 -> 자식 계층 구조

CONNECT BY PRIOR 자식 컬럼 = 부모 컬럼

2) 자식 -> 부모 계층 구조

CONNECT BY PRIOR 부모 컬럼 = 자식 컬럼

- ORDER SIBLINGS BY

계층 구조 정렬

🌼 계층형 쿼리 적용 SELECT 해석 순서

5 : SELECT
1 : FROM (+JOIN)
4 : WHERE
2 : START WITH
3 : CONNECT BY
6 : ORDER SIBLINGS BY

WHERE절이 계층형 쿼리보다 해석 순서가 늦기 때문에
먼저 조건을 반영하고 싶은 경우 FROM절 서브쿼리(인라인 뷰)를 이용해야 한다. 🤔

profile
풀스택 개발자 기록집 📁

0개의 댓글