반응형
START WITH 속성 IS NULL
CONNECT BY [NOCYCLE] PRIOR 속성 = 속성
ORDER SIBLINGS BY 속성;
예시>
사원 ID, 관리자 ID를 가지는 사원 테이블인 경우
조회 결과는 TREE 구조를 가진다.
PRIOR가 붙은쪽이 내 속성이라고 생각하면 된다.
PRIOR가 안붙은쪽이 다음 속성(자식)이라고 생각하면 된다.
PRIOR가 붙은 쪽이 부모(상사)인 경우 정방향이다.
PRIOR가 붙은 쪽이 자식(부하)인 경우 역방향이다.
ORDER SIBLINGS는 같은 레벨의 자식간에 정렬 방식을 나타낸다.
LEVEL 속성을 쓸수있는데 맨 처음(루트노트) 레벨은 1이다. 자식으로 내려갈수록 레벨이 올라간다.
계층형 쿼리는 트리가 아니라 그래프가 될 수도 있는데 NOCYCLE을 쓰면 사이클이 생길때 연결을 그만둔다.
키워드
CONNECT_BY_ISLEAF : 최하위 자식 노드면 1을 반환한다.
CONNECT_BY_ROOT : 루트 노트면 1을 반환한다.
CONNECT_BY_ISCYCLE : NOCYCLE을 사용시에만 사용 가능하다. 자식이 부모랑 같은 경우 1을 반환
SYS_CONNECT_BY_PATH(속성, 구분자) : 루트노트부터 자신까지 연결된 경로 정보를 반환
반응형
'백엔드 > SQLD' 카테고리의 다른 글
Row Chaining & Row Migration (0) | 2020.11.29 |
---|---|
MERGE (0) | 2020.11.27 |
서브쿼리 (0) | 2020.11.27 |
외워야되는 명령어, 함수 (0) | 2020.11.26 |
정규화 (0) | 2020.11.26 |
댓글