[SQL] 092. 계층형 질의문으로 서열을 주고 데이터 출력하기4

Updated:

초보자를 위한 SQL 200제 교재를 토대로 공부한 내용입니다.

오라클 SQL을 기반으로 합니다.

실습에 사용한 테이블은 정보문화사 홈페이지에서 받을 수 있습니다.


[기본 옵션]

-- AUTOCOMMIT 끄기
SET AUTOCOMMIT OFF;

-- 날짜 출력 포맷 변경
ALTER SESSION SET NLS_DATE_FORMAT = 'RRRR-MM-DD';

[예시]

SYS_CONNECT_BY_PATH를 사용하여 서열 순서를 가로로 출력 가능하다.

-- SYS_CONNECT_BY_PATH(컬럼, 구분자): 서열을 가로로 나타냄
SELECT ENAME,
LTRIM(SYS_CONNECT_BY_PATH(ENAME,'_'), '_') AS PATH
FROM EMP
START WITH ENAME = 'KING'
CONNECT BY PRIOR EMPNO = MGR;

[결과]

ENAME PATH
KING KING
JONES KING_JONES
SCOTT KING_JONES_SCOTT
ADAMS KING_JONES_SCOTT_ADAMS
FORD KING_JONES_FORD
SMITH KING_JONES_FORD_SMITH
BLAKE KING_BLAKE
ALLEN KING_BLAKE_ALLEN
WARD KING_BLAKE_WARD
MARTIN KING_BLAKE_MARTIN
TURNER KING_BLAKE_TURNER
JAMES KING_BLAKE_JAMES
CLARK KING_CLARK
MILLER KING_CLARK_MILLER

Tags:

Categories:

Updated:

Leave a comment