계층형 쿼리
데이터 조회할 때 상위와 하위 관계를 표시하는데 사용하는 함수
함수명 : CONNECT BY
ex)
1) SELECT LEVEL, LPAD(EMPNO, LEVEL*4,'*') AS EMPNO1, ENAME, MGR
FROM EMP
START WITH NGR IS NULL
CONNECT BY PRIOR EMPNO = MGR;
2) SELECT LEVEL, LPAD(ENAME, LEVEL*4, '*') AS ENAME1
, SUBSTR(SYS_CONNECT_BY_PATH(ENAME,'-'),2) ENAME2, MGR
FROM EMP
START WITH MGR IS NULL
CONNECT BY PRIOR EMPNO = MGR;
3) 레벨별로 급여 합계와 사원수를 조회하는 경우
SELECT LEVEL, SUM(SAL) TOTAL, COUNT(EMPNO) CNT
FROM EMP
START WITH MGR IS NULL
CONNECT BY PRIOR EMPNO = MGR
GROUP BY LEVEL
ORDER BY LEVEL
'공부하기 > Data Base' 카테고리의 다른 글
[Oracle 공부하기]가상컬럼 (0) | 2017.05.10 |
---|---|
[Oracle 공부하기]Oracle 11g에서 추가된 함수 (0) | 2017.05.08 |
[Oracle 공부하기]소계 관련 함수 (0) | 2017.05.08 |
[Oracle 공부하기] sql*plus 명령어 모음 (0) | 2017.05.04 |
[Oracle 공부하기] sql plus 간단 명령어 (0) | 2017.05.04 |