티스토리 뷰

계층형 쿼리
- 계층형 구조는 상하 수직관계의 트리 형태 구조
- 회사에 있는 부서, 대학교에 있는 학과 이런 관계 
즉 계층형 쿼리는 테이블에 있는 데이터를 계층형 구조로 반환하는 쿼리를 뜻함. 

START WITH ~ CONNECT BY 절로 표현이 가능하다. 
 (시작조건)       (연결조건) 
 
 
예제)
-- 테이블 생성 
CREATE TABLE TAB1(EMP_ID VARCHAR(10), MGR_ID VARCHAR(10), DPET_NM VARCHAR(10));
INSERT INTO TAB1 VALUES ('A','','HEADROOM');
INSERT INTO TAB1 VALUES ('B','A','HEADROOM');
INSERT INTO TAB1 VALUES ('C','A','HEADROOM');
INSERT INTO TAB1 VALUES ('D','C','TECH');
INSERT INTO TAB1 VALUES ('E','C','TECH');

-- 테이블 조회 
SELECT EMP_ID, MGR_ID, DPET_NM, LEVEL
FROM TAB1
WHERE 1=1
START WITH MGR_ID IS NULL
CONNECT BY PRIOR EMP_ID = MGR_ID
;



EMP_ID가 B,C인 행은 MGR_ID A에 자식노드이기 때문에 LEVEL 조회시 2가 나옴을 알수있다. 
EMP_ID가 D,E인 행은 LEVEL이 2인 MGR_ID가 C인 부모노드에 속하기 때문에 LEVEL이 3이 나온다. 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
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 31