파게로그
계층형 조회(CONNECT BY) 본문
CONNECT BY
SELECT MAX(LEVEL)
FROM EMP
START WITH MGR IS NULL
CONNECT BY PRIOR EMPNO = MGR;
- 트리 구조로 질의를 수행하는 것
- root 노드로부터 하위 노드의 질의를 시행
- MAX(LEVEL)을 통해 최대 계층 수(leaf node의 계층값)를 구할 수 있음
- START WITH: 시작 조건
- CONNECT BY PRIOR: 조인 조건
EMPNO | ENAME | MGR |
1000 | '철수' | NULL |
1001 | '영희' | 1000 |
1002 | '민수' | 1000 |
1003 | '은지' | 1001 |
1004 | '나현' | 1002 |
1005 | '동원' | 1003 |
1006 | '지아' | 1003 |
SELECT LEVEL, LPAD(' ', 4 * (LEVEL-1)) || EMPNO, MGR, CONNECT_BY_ISLEAF
FROM EMP
START WITH MGR IS NULL
CONNECT BY PRIOR EMPNO = MGR;
CONNECT BY 키워드
LEVEL | 검색 항목의 깊이. root node는 1 |
CONNECT_BY_ROOT | 계층구조에서 최상위 값 |
CONNECT_BY_ITSELF | 계층구조에서 최하위 값 |
SYS_CONNECT_BY_PATH | 계층 구조의 전체 전개 경로 |
NOCYCLE | 순환구조가 발생 지점까지만 전개됨 |
CONNECT_BY_ISCYCLE | 순환구조의 발생 지점 표시 |
'콤퓨타 왕기초 > SQLD/JDBC/Oracle DB' 카테고리의 다른 글
group function (0) | 2021.03.21 |
---|---|
subquery (0) | 2021.03.21 |
join (0) | 2021.03.19 |
TCL(Transaction Control Language) (0) | 2021.03.18 |
DCL(Data Control Language) (0) | 2021.03.18 |
Comments