-
[Oracle] Connect byDatabase 2011. 6. 30. 21:07계층적으로 되어있는 데이터는 Connect by라는 오라클 함수를 통해서 가져올 수 있다.
사용 방법
select level, /* 보여줘야되는 데이터 */ from ( /* 계층 구조를 가지고 있는 Data or View */ ) a" ); start with search_column = /* 검색 조건*/ connect by prior /*관련 데이터*/ = /*검색조건*/ group by /* 중복 방지 */ order by level
이와 같은 방법으로 진행한다.
예를 들자면..
이와 같은 데이터를 조회할 경우...
직원 직급
-------------
개똥 사장
영희 부장
순희 과장
길동 대리
철수 대리
select lpad(' ',(level-1)*2,' ')||직원 직원,직급,level from 직원 start with 직속상사 is null connect by prior 직원 = 직속상사
이러한 경우에 사용된다.
'Database' 카테고리의 다른 글
[ORACLE] any-some, all (0) 2011.12.08 Database 테이블 정의서 및 컬럼구조 쿼리를 통해 가져오기 (0) 2011.10.12 Oracle Function (0) 2011.04.23 [Oracle] Function (0) 2011.01.06 [Oracle] Minus, Not Exists, ... (0) 2010.10.25