-
데이터베이스 계층형쿼리(LEVEL)데이터베이스/오라클 2020. 3. 2. 12:08반응형
LEVEL
커뉴미케이션학과
광고홍보학과
언론 미디어학과 / 커뮤니케이션 학과
계층형 쿼리 구현하기
SELECT empno, ename, mgr FROM emp; SELECT empno, ename, mgr 상사번호, LPAD(ename, LEVEL*4, '*'), LEVEL FROM emp CONNECT BY PRIOR empno = mgr START WITH ename='KING';
원하지 않는 계층 생략하기
SELECT empno, ename, mgr 상사번호, LPAD(ename, LEVEL*4, '*'), LEVEL FROM emp CONNECT BY PRIOR empno = mgr AND ename <> 'CLARK' START WITH ename='KING';
원하지 않는 개체 생략하기
SELECT empno, ename, mgr 상사번호, LPAD(ename, LEVEL*4, '*'), LEVEL FROM emp CONNECT BY PRIOR empno = mgr WHERE ename <> 'CLARK' START WITH ename='KING';
경로 출력하기
SELECT empno, ename, mgr 상사번호, LPAD(ename, LEVEL*4, '*'), LEVEL, SYS_CONNECT_BY_PATH(ename,'->') FROM emp CONNECT BY PRIOR empno = mgr AND ename <> 'CLARK' START WITH ename='KING';
복습
SELECT 교수번호,담당교수번호, name,LPAD(name, LEVEL*6, '*'), LEVEL, SYS_CONNECT_BY_PATH(name,'->') from( SELECT profno 담당교수번호,name,null 교수번호 FROM student UNION ALL SELECT null 담당교수번호,name,profno 교수번호 FROM professor) connect by prior 교수번호 = 담당교수번호;
'데이터베이스 > 오라클' 카테고리의 다른 글
[데이터베이스 기본]이너 조인(INNER JOIN) 아우터 조인(OUTER JOIN) (0) 2020.03.06 롤업 (0) 2020.02.27 데이터베이스 피벗 사용해보기 (0) 2020.02.26 그룹별로 데이터 출력하기(groupby, PARTITION BY) (0) 2020.02.25 데이터베이스 실행 순서 (0) 2020.02.24