포스팅 목차
o SYS_CONNECT_BY_PATH
문법
sys_connect_by_path::=
목적
SYS_CONNECT_BY_PATH 함수는 계층 구조로 형성된 데이터를 조회하는 계층적 쿼리에서만 사용할 수 있는 함수이다. 이 함수는 CONNECT BY 조건에 의해 반환된 각 행을 기준으로 개별 행에 속한 열 값을 구분자(char)로 구분하여 루트(Root) 노드에서 해당 노드(node)까지의 경로를 문자열로 생성하여 반환한다.
예를 들어, 직원들의 직급 관계를 나타내는 계층 구조에서 SYS_CONNECT_BY_PATH 함수를 사용하면, 각 직원의 직급 경로(CEO > 부사장 > 팀장 > 사원 등)를 문자열로 생성할 수 있습니다.
열(column) 값은 CONNECT BY 조건에 의해 반환되는 각 행을 지정한 구분자(char) 로 분리하여 반환한다.
열(column)과 구분문자(char)는 모두 CHAR, VARCHAR2, NCHAR 또는 NVARCHAR2 데이터 타입 중 하나를 사용할 수 있다. 반환되는 문자열은 VARCHAR2 데이터 타입이고, 열(column)과 동일한 문자 집합에 속한다.
예제
다음 예제는 직원 Kochhar 부터 Kochhar 이 관리하고 있는 직원(세부 조직에 속한 직원을 포함하여)들의 이름을 계층 구조로 구성된 경로(Path)를 반환한다.
Oracle Programming |
SELECT LPAD(' ', 2*level-1)||SYS_CONNECT_BY_PATH(last_name, '/') "Path"
FROM employees
START WITH last_name = 'Kochhar'
CONNECT BY PRIOR employee_id = manager_id;
Results |
Path
---------------------------------------------------------------
/Kochhar
/Kochhar/Greenberg
/Kochhar/Greenberg/Faviet
/Kochhar/Greenberg/Chen
/Kochhar/Greenberg/Sciarra
/Kochhar/Greenberg/Urman
/Kochhar/Greenberg/Popp
/Kochhar/Whalen
/Kochhar/Mavris
/Kochhar/Baer
/Kochhar/Higgins
/Kochhar/Higgins/Gietz
오라클 SQL 함수(Oracle SQL Function) 목록 리스트 링크 |
[SQL, Pandas, R Prog, Dplyr, SQLDF, PANDASQL, DATA.TABLE] SQL EMP 예제로 만나는 테이블 데이터 처리 방법 리스트 링크 |
2023.01.24 수정
반응형
'오라클 게시판 > 오라클 함수' 카테고리의 다른 글
【오라클 SQL 함수】 SYS_CONTEXT 함수 (0) | 2021.10.21 |
---|---|
【오라클(Oracle) SQL 함수】 SUM 함수 (0) | 2021.10.21 |
【오라클(Oracle) SQL 함수】 SUBSTR 함수 (0) | 2021.10.21 |
【오라클(Oracle) SQL 함수】 STDDEV_SAMP 함수 (0) | 2021.10.21 |
【오라클(Oracle) SQL 함수】 STDDEV_POP 함수 (0) | 2021.10.20 |
댓글