Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags more
Archives
Today
Total
관리 메뉴

기록

DB 계층형 쿼리 본문

DB

DB 계층형 쿼리

9400 2023. 2. 6. 18:52

 

SELECT SEQ,
    LPAD(' ',2*(LEVEL-1),' ') || TITLE AS TITLE,
    WRITER,
    P_SEQ,
    LEVEL LVL
FROM FREEBRD
START WITH P_SEQ IS NULL
CONNECT BY PRIOR SEQ = P_SEQ
ORDER SIBLINGS BY SEQ DESC;

- LPAD : 지정한 길이만큼 왼쪽부터 특정문자로 채우는 함수입니다.

            LPAD("값","총 문자길이","채움문자")

 

- START WITH : 최상위 루트노드를 지정합니다.

                      최상위 루트노드인 회장의 부모노드는 NULL이므로 P_SEQ IS NULL 이라고 작성합니다.

 

- CONNECT BY : 부모와 자식노드를 찾아서 연결합니다.

 

- PRIOR : 자식노드쪽에 붙여서 작성합니다.

 

- LEVEL : 오라클의 모든 실행쿼리에서 사용가능하며 트리내에서 어떤 단계에 있는지 나타내는 값입니다.

            START WITH과 CONNECT BY를 사용해 부모자식노드를 연결한 후 LEVEL로 데이터를 보기쉽게 계층화 합니다.

Comments