[오라클] 계층형 쿼리(START WITH CONNECT BY)
WHERE
START WITH
CONNECT BY
절의 구조를 지닌다.
쿼리가 인식하는 순서는 다음과 같다.
1) START WITH 절 : 시작위치를 지정
2) CONNECT BY 절 : PRIOR 을 사용해서 부모와 자식의 관계를 명시한다.
PRIOR 은 실제 부모노드의 값을 가지고 있는 컬럼의 앞에 명시해준다.
예시)
이름 | ID | 관리자ID |
CEO | 1000 | NULL |
Manager1 | 2000 | 1000 |
Maneger2 | 3000 | 1000 |
위의 데이터의 경우
순방향 전개일 경우(START WITH 절에 부모노드를 조회한 경우 관리자ID=NULL 등)
CONNECT BY PRIOR ID = 관리자ID
또는 CONNECT BY 관리자ID = PRIOR ID
3) WHERE 절 : 마지막으로 인식된다.
참조 블로그.
https://blog.naver.com/javaking75/220010288704
[오라클] 계층형 쿼리 ( START WITH ... CONNECT BY )
계층형 쿼리(Hierarchical Query)는 오라클에서만 지원하고 있는 아주 막강한 기능 중의 하나다. ...
blog.naver.com
https://kimkoonho91.tistory.com/8
[오라클, Oracle] 계층 쿼리 (hierarchical query) - 계층 쿼리 절
계층 쿼리 절(hierarchical query clause)은 오라클 데이터베이스의 전통적인 계층 쿼리 구문이다. [기본 문법] 계층 쿼리 절은 WHERE 절 다음에 기술하며, FROM 절이 수행된 후 수행된다. START WITH 절과 CO
kimkoonho91.tistory.com
https://kimkoonho91.tistory.com/10
[오라클, Oracle] 계층 쿼리 (hierarchical query) - 고급 주제
[노드 제거] CONNECT BY 절이나 WHERE 절에 조건을 기술하면 조건을 만족하지 않는 노드를 제거할 수 있다. 아래 쿼리는 CONNECT BY 절에 EMPNO 7698 조건을 기술했다. CONNECT BY 절에 조건을 기술하면 조건을
kimkoonho91.tistory.com