티스토리 뷰
계층형 쿼리
- 계층형 구조는 상하 수직관계의 트리 형태 구조
- 회사에 있는 부서, 대학교에 있는 학과 이런 관계
즉 계층형 쿼리는 테이블에 있는 데이터를 계층형 구조로 반환하는 쿼리를 뜻함.
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이 나온다.
'IT > ORACLE_DB_SQL' 카테고리의 다른 글
ORACLE/ 계정권한 'ORA-01012: 로그온되지 않았습니다.' (0) | 2021.06.15 |
---|---|
SQL-02112: SELECT..INTO가 너무 많은 행을 리턴합니다 에러발생 (0) | 2021.06.14 |
[ORACLE] sqlplus에서 백스페이스 사용하는 방법 초간단 정리!! (0) | 2020.03.26 |
[ORACLE] 테이블 스페이스 생성/조회/권한 부여 /데이터파일생성 초간단 정리! (0) | 2020.03.23 |
[ORACLE] Synonym 개념/초간단 정리!!/사용법 (0) | 2020.03.16 |
댓글