Skip to content

SQL 계층구조 쿼리 #
Find similar titles

계층 구조 쿼리 (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: 같은 계층안에서의 정렬 조건을 명시한다.

실행순서 #

계층구조 쿼리의 실행순서는 다음과 같다.

  1. START WITH 절
  2. CONNECT BY 절
  3. 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
0.0.1_20140628_0