[SQLD] SQL 활용 - 계층형 쿼리

2023. 3. 17. 13:13SQL/SQLD.

728x90
반응형

계층형 조회(CONNECT BY)

계층형 조회는 ORACLE 데이터베이스에서 지원하는 것으로 계층형으로 데이터를 조회할 수 있다. 

CONNECT BY는 트리 형태의 구조로 질의를 수행하는데 START WITH구는 시작 조건을 의미하고 CONNECT BY PRIOR는 조인 조건이다. Root 노드로 부터 하위 노드의 질의를 실행한다.

키워드 설명
START WITH 조건 계층 전개의 시작 위치 지정
PRIOR 자식 = 부모 부모에서 자식 방향으로 검색을 수행하는 순방향 전개
PRIOR 부모 = 자식 자식에서 부모 방향으로 검색을 수행하는 역방향 전개
NOCYCLE 데이터 전개시 이미 조회된 데이터를 다시조회할때 생기는 CYCLE 방지
ORDER SIBLINGS BY 컬럼 동일한 LEVEL인 형제노드 사이에서 정렬 수행

 

CONNECT BY Keyword

키워드  설명
LEVEL 계층형 쿼리의 depth 레벨
CONNECT_BY_ROOT LEVEL 1의 COL을 조회
CONNECT_BY_ISLEAF 최하위 LEVEL이면 1 아니면 0 조회
SYS_CONNECT_BY_PATH(col, ‘/’) 계층형 쿼리의 값의 경로(컬럼,구분자)
NOCYCLE (CONNECT BY절 사용) 무한 반복 방지 옵션
PRIOR 바로 직전 출력된 행

 

 

728x90
반응형

'SQL > SQLD.' 카테고리의 다른 글

[SQLD] SQL활용 - GROUP 함수  (0) 2023.03.17
[SQLD] SQL 활용 - 서브쿼리(Subquery)  (0) 2023.03.17
[SQLD] SQL 활용 - JOIN  (0) 2023.03.17
[SQLD] SQL기본  (0) 2023.03.17
[SQLD] 데이터 모델링의 이해 -4  (0) 2023.03.17