[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 |
Leave a comment