[SQLD] 계층형 질의 Prior

hwwwa·2022년 6월 1일
0

🍊 SQLD

목록 보기
13/16

계층형 질의

  • Prior 자식데이터 = 부모데이터 : 순방향
  • Prior 부모데이터 = 자식데이터 : 역방향
  • 루트 노드의 LEVEL은 1
  • ORDER BY SIBLINGS BY: 형제 노드(동일 LEVEL) 사이에서 정렬 수행
  • PRIOR 키워드는 CONNECT BY, SELECT, WHERE 절에서 사용 가능
  • CONNECT BY 절에 조건절 사용 시, START WITH에 해당하는 루트 노드는 결과에 포함하고 이후 recursive join에 의해 조건 필터링 수행
  • WHERE 절은 모든 전개 진행 후 필터 조건으로서 조건을 만족하는 데이터만 추출 시 활용
  • CTE(Common Table Expression)를 재귀호출함으로써 계층 구조 전개
  • 앵커 멤버를 실행해 기본 결과 집합을 만들고 이후 재귀 멤버를 지속적으로 실행
level 1 KING empno
level 2 James mgr
level 3 Scott
  • 현재 James의 mgr이 이전의 KING의 empno라면,
    • level 2의 입장에서 Prior 값은 level 1 KING empno
    • Prior empno = mgr

0개의 댓글