반응형
계층쿼리 START WITH ~ CONNECT BY PRIOR 구문
답변형 게시판이나, 계층적 트리구조를 사용하는 프로세스에서
START WITH CONNECT BY 구분을 많이 사용합니다.
START WITH
*. START WITH 구분 다음에는 계층관계를 검색하기 위한 조건이 위치합니다.
*. 시작할 루트(ROOT)를 지정합니다해줍니다.
*. 서브쿼리(SUB QUERY) 형태도 가능합니다.
CONNECT BY PRIOR
*. CONNECT BY 절 다음에는 계층 구조에서 부모와 자식간의 관계를 명시합니다.
*. PRIOR를 사용하여 부모 컬럼을 판별할 수 있고 PRIOR에 의해
상위계층인지 하위계층인지 판별할 수 있습니다.
*. 이 구문에서는 서브쿼리(SUB QUERY) 형태는 사용할 수 없습니다.
※ 참고로 데이터량이 많을 경우 성능적인 부분을 위해
아래의 계층구조 쿼리에서 START WITH절과 CONNECT BY 절의 컬럼(MEM_SEQ)에
인덱스(INDEX)가 걸려 있어야합니다.
START WITH MEM_SEQ IS NULL
CONNECT BY CUST_SEQ = MEM_SEQ
쿼리 사용 예제)
SELECT MEMBER_ID
FROM TABLE_A
WHERE DELYN = 'N'
START WITH MEMBER_ID = '6'
CONNECT BY PRIOR MEMBER_ID = COMPANY_ID
반응형
'Database > ORACLE' 카테고리의 다른 글
윈도우7 오라클 11g 설치 (15) | 2013.12.04 |
---|---|
오라클 설치 시 WFMLRSVCApp.ear 파일을 찾을 수 없습니다.(Oracle 11g error WFMLRSVCApp.ear file missing during Installation) (22) | 2013.12.04 |
Oracle 11g ADRCI를 이용한 ADR 관리 (0) | 2013.03.28 |
오라클 프로시저(Oracle Procedure) 기초 예제 (0) | 2013.02.07 |
토드(Toad)에서 오라클 프로시져(Oracle Procedure) 실행 방법 (0) | 2013.02.07 |
[오라클,ORACLE] 쿼리 실행 시간 (0) | 2013.01.22 |
오라클 UNION 사용 시 ORDER BY 처리 (2) | 2013.01.22 |
oracle 함수(산술, 문자열, 날짜, 날짜포맷 등) (0) | 2013.01.11 |
오라클 페이징 쿼리(Oracle paging query) (0) | 2012.08.14 |
오라클 쿼리 인덱스(ORACLE QUERY INDEX) (0) | 2012.08.14 |