web developer

[SQLD] 계층형 질의 본문

SQL/Oracle SQL

[SQLD] 계층형 질의

trueman 2021. 11. 18. 01:10
728x90
728x90

계층형 질의


- 계층의 시작점 : start with 

- 각 레벨간의 연결을 위한 : connect by 

- prior : 각 하위 레벨의 직전 상위 레벨 

- 각 계층에 있어서 마지막 레벨인지를 알기 위해서 : connect_ by_isleaf (계층의 마지막 레벨이면 1, 그렇지 않으면 0)

- 각 하위 레벨 기준에서 정렬이 요구될 떄에는 : order + siblings by 


(1) START WITH : KING 

상위 계층이 어디에 있는지에 따라서 prior가 붙는 것이 달라짐을 볼 수 있습니다.

위의 그림을 보면 자식 -> 부모로 향하는 방향인 것을 알 수 있고, 부모가 상위레벨임으로 prior을 부모에 붙여줍니다.

= PRIOR 부모 = 자식

= 부모의 이전의 값이 자식이다.

= 역방향


(2) START WITH : SMITH

위의 그림을 보면 부모 -> 자식으로 향하는 방향인 것을 알 수 있고, 자식이 상위레벨임으로 prior을 자식에 붙여줍니다.

= PRIOR 자식 = 부모

= 자식의 이전의 값이 부모이다.

= 순방향 

728x90
728x90

'SQL > Oracle SQL' 카테고리의 다른 글

[sql] INSTR 함수  (0) 2022.01.07
[sql] SUBSTR 함수  (0) 2022.01.07
[sql] Case When Then Else End  (0) 2021.12.28
[sql] 오라클 CONCAT, ||를 이용한 문자열 합치기  (0) 2021.12.20
[SQLD] 집합(SET) 연산자  (0) 2021.11.16