SQL - 계층형 조회

2023. 3. 14. 09:12SQLD 정리

반응형

트리형태의 데이터에 대해 조회를 수행

 

계층 구조 시작점

- START WITH : START WITH로 계층형 조회의 시작점을 설정(이 시작점이 ROOT노드이고 LEVEL1이다.)

- ROOT노드 : ROOT노드에서 자식노드로 갈수록 LEVEL이 1씩 올라간다.

- LEAF 노드 : 자식노드가 없는 노드는 LEAF 노드.

- CONNECT BY , PRIOR : 부모 노드로부터 다음 자식 노드를 이어준다.

- ORDER SIBLINGS BY : 자식 노드를 이어줄때 자식 노드를 어떤 순서로 이어줄지 정해준다.

 

 

EX)

    SELECT COL3

    START WITH COL2 IS NULL

    CONNECT BY PRIOR COL1 = COL2

    ORDER SIBLINGS BY COL3;

 

위 SQL문을 보면 COL2가 NULL인것을 부모노드로 지정해서 맨 처음에 나온다. 그리고 CONNECT BY로 다음 자식노드를 어떻게 이어줄지 알려준다. PRIOR이 붙은 것이 부모노드의 컬럼을 말한다. 부모노드의 COL1이 자식노드의 COL2와 같은 경우 밑에 행을 붙여준다. 위에 표를 보면 부모노드의 COL1이 11인데 COL2가 11인 레코드가 두개나 있다. 어떤거를 먼저 붙여줄지는 ORDER SIBLINGS BY를 통해서 정해주면 된다. ORDER SIBLINGS BY COL3를 통해 자식 노드들의 순서가 COL3의 오름차순으로 붙여진다.  

 

출저) [SQLD 자격증] 8만명이 유튜브에서 검증한 메타코드M의 대표강의 | Udemy

반응형

'SQLD 정리' 카테고리의 다른 글

SQL - 옵티마이저, INDEX  (0) 2023.03.14
SQL - 윈도우함수, 파티션  (1) 2023.03.14
SQL - JOIN 조인  (0) 2023.03.13
SQL - 집계함수, SELECT문 연산 순서, 행 수 제한, ROWID  (0) 2023.03.13
SQL - Group By  (0) 2023.03.13