오라클의 계층형 쿼리문 - START WITH , CONNECT BY , ORDER SIBLINGS BY
-> 상위 타입과 하위 타입간의 관계를 계층식으로 표현할 수 있게 하는 질의어
1. START WITH : 상위 타입(부모) 로 사용 될 행을 지정 (서브쿼리 가능 )
2. CONNECT BY : 상위 타입과 하위 타입간의 관계를 규정
-- PRIOR 연산자와 같이 사용하여 현재 행 이전에 상위 타입이 있을지 하위 타입이 있을지 지정
EX) CONNECT BY PRIOR 자식컬럼 = 부모컬럼 : 부모 -> 자식 계층구조
EX) CONNECT BY PRIOR 부모컬럼 = 자식컬럼 : 자식 -> 부모 계층구조
3. ORDER SIBLINGS BY : 계층형 쿼리의 정렬구문
ex) ORIGINAL 을 참조해 PARENT_NO 생성 시
SELECT LEVEL, C.* FROM 컬럼 C
START WITH PARENT_NO IS NULL
CONNECT BY PRIOR ORIGINAL_NO = PARENT_NO
ORDER SIBLINGS BY ORIGINAL_NO
--추가기능--
*LEVEL 가상컬럼
-> START WITH로 지정된 행의 LEVEL을 1로 부여하고
-> 하위 계층으로 내려갈수록 단계별 LEVEL을 1씩 증가시켜서 표현
*조건이 반영된 형태의 계층구조를 조회해고 싶다면
FROM 절에 서브쿼리(인라인뷰) 를 사용해서
미리 조건에 맞는 형태의 행으로 구성해 둠
'개발자로 업그레이드 되자 > 오라클,SQL' 카테고리의 다른 글
오라클 DBMS 정리 14(TRIGGER) (0) | 2021.09.30 |
---|---|
오라클 DBMS 정리 13(PROCEDURE/ FUNCTION/CURSOR) (0) | 2021.09.30 |
오라클 DBMS 정리 12(PL/SQL- IF ~ ELSE, LOOP) (0) | 2021.09.29 |
오라클 DBMS 정리 11(PL/SQL) (0) | 2021.09.29 |
오라클 DBMS 정리 10(OBJECT) (0) | 2021.09.29 |