Oracle start with... connect by prior 재 귀적 조회 실현

기본 문법:
<span style="font-size:18px;"><em>select ... from <TableName>
where <Conditional-1>
start with <Conditional-2>
connect by <Conditional-3>;

<Conditional-1>:    ,              。
<Conditional-2>:               。
<Conditional-3>:    </em></span>

데이터 테이블 구 조 는 다음 과 같다.
create table table_test(
priorId number,
id number,
name varchar(5),
description varchar(10)
);

테스트 데이터:
insert into table_test(priorId,id,name,description) values(0,1,'f','f  ');
insert into table_test(priorId,id,name,description) values(1,2,'f1','f  1');
insert into table_test(priorId,id,name,description) values(1,3,'f2','f  2');
insert into table_test(priorId,id,name,description) values(0,4,'F','F  ');
insert into table_test(priorId,id,name,description) values(4,5,'F1','F  1');
insert into table_test(priorId,id,name,description) values(4,6,'F2','F  2');

 
전체 트 리 가 져 오기:
select * from table_test start with priorId = 0 connect by prior id = priorId;

특정 하위 트 리 가 져 오기:
select * from table_test start with id = 1 connect by prior id = priorId;
select * from table_test start with id = 4 connect by prior id = priorId;

connect by prior 의 prior 가 생략 되면 조 회 는 심층 재 귀 를 하지 않 습 니 다.
select * from table_test start with priorId = 0 connect by id = priorId;
select * from table_test start with id = 1 connect by id = priorId;

 
 
 
 
 
 

좋은 웹페이지 즐겨찾기