connect by 실행순서가 궁금합니다 0 2 1,623

by 열심히 [Oracle 기초] [2017.09.01 07:56:51]


start with

connect by 구문에서

start with를 빼면 ㅇㅓ떤 순서로 실행이 되나요?

예를 들어

with ms as(

select '1' id, null pid from dual

union all select '1-1', '1' from dual

union all select '1-2', '1' from dual

)

select * from ms

connect by prior id = pid

스마트폰이라 오타가 있을수 있습니다

start with 없는 저 쿼리를 실행하면 어떻게

결과가 만들어 지는지 궁금합니다

제일먼저 어떤행을 찾고 다음은 멀찾고 

이렇게 설명좀 부탁드립니다

저는 실행시켜 나온 결과가 어떻게 저렇게 나오는지

이해가 안가네요ㅜㅜ

 

by 마농 [2017.09.01 08:14:47]


start with 는 계층 시작행을 제한하는 조건 구문이죠.
제한이 사라지면 모든 행이 시작행이 됩니다.
1. 첫행을 시작으로 자식 둘을 찾고 (1 + 2 = 3)
2. 둘째행을 시작으로 자식이 없네요.(1)
3. 셋째행을 시작으로 또 자식이 없네요.(1)
3개의 계층구조가 생기고 총 5행이 되겠네요.
 


by 열심히 [2017.09.01 08:48:11]

감사합니다 마농님

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입