이전 강좌에서 START WITH와 CONNECT BY절을 이용해서 계층 구조로 쿼리를 해오는것을 살펴봤습니다. 이번에는 계층구조를 이용해서 역순으로 쿼리를 해오는것을 보겠습니다.
-- 조금 깔끔하게 보기 위해서.. 셋팅 먼저 하고요.. C:\> SQLPLUS scott/tiger SQL> SET LINESIZE 100 SQL> SET PAGESIZE 100 SQL> COL ename FORMAT A20 SQL> SELECT LPAD(' ', 4*(LEVEL-1)) || ename ename, empno, mgr, job FROM emp START WITH EMPNO=7839 CONNECT BY PRIOR empno=mgr; ENAME EMPNO MGR JOB ------------------- ---------- ---------- --------- KING 7839 PRESIDENT JONES 7566 7839 MANAGER SCOTT 7788 7566 ANALYST ADAMS 7876 7788 CLERK FORD 7902 7566 ANALYST SMITH 7369 7902 CLERK -- 위 SQL문은 EMPNO가 7839인 것을 기준으로 EMPNO와 MGR컬럼을 -- 계층구조로 비교해서 결과값을 반환 합니다. -- 위 SQL문의 CONNECT BY PRIOR empno=mgr 이 부분을..한번 바꺼 볼까요.. -- 아래처럼.. CONNECT BY empno=PRIOR mgr 이렇게 바꺼서 한번 실행해 보세요.. -- 그럼..역순으로.. 쿼리를 해서 결과값을 반환 합니다 -- 위에 결과값과 비교해 보세요.. SQL> SELECT LPAD(' ', 4*(LEVEL-1)) || ename ename, empno, mgr, job FROM emp START WITH EMPNO=7369 CONNECT BY empno=PRIOR mgr; ENAME EMPNO MGR JOB -------------------- ---------- ---------- --------- SMITH 7369 7902 CLERK FORD 7902 7566 ANALYST JONES 7566 7839 MANAGER KING 7839 PRESIDENT
- 강좌 URL : http://www.gurubee.net/lecture/1401
- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.