SQL
계층구조 쿼리
#
Find similar titles
-
최초 작성자
jkpark@insilicogen.com
- 최근 업데이트
Structured data
- Category
- Database
계층 구조 쿼리 (Hierarchical Queries) #
계층형으로 구성된 데이터를 상위계층과 하위계층 관계를 사용해 조회하는것,예를 들어 부모 자식 간의 관계나 조직도 같은 연관관계를 갖는 데이터 구조를 그 구성 관계까지 고려하여 조회하는 것을 말한다.
문법 #
SELECT COLUMNS , LEVEL AS 계층의 단계
FROM TABLE_NAME
WHERE 조건
START WITH (계층 시작 위치)
CONNECT BY ( 계층 상위코드= PRIOR 계층 하위코드)
ORDER SIBLINGS BY (계층안 정렬 컬럼)
설명 #
- START WITH : 시작 데이터의 조건을 정의한다.
- CONNECT BY : 상하 계층구조의 연관 관계를 정의한다.
- PRIOR : CONNECT BY절에서 상위계층의 코드를 명시해준다.
- LEVEL: 계층구조의 단계 정보를 알려준다.
- ORDER SIBLINGS BY: 같은 계층안에서의 정렬 조건을 명시한다.
실행순서 #
계층구조 쿼리의 실행순서는 다음과 같다.
- START WITH 절
- CONNECT BY 절
- WHERE 절
예제 #
SELECT LEVEL, EMPLOYEE_NO, EMPLOYEE_NAME, MANAGER_NO
FROM EMPLOYMENT
START WITH job = 'PRESIDNET'
CONNECT BY PRIOR EMPLOYEE_NO = MANAGER_NO
LEVEL EMPLOYEE_NO EMPLOYEE_NAME MANAGER_NO
----- ----------- ------------- ----------
1 0001 홍길동
2 0002 김철수 0001
3 0003 이영호 0002
4 0004 박수진 0003
3 0005 제임스 0002
4 0006 스미스 0005
참고문헌 #
- 이화식,『대용량 데이터베이스솔루션 1』, 서울:(주)엔코아, 1996