[계층형 쿼리 PRIOR] 개념 질문 있습니다. 0 6 225

by 부산광어 [2020.05.24 12:14:55]


1.PNG (9,980Bytes)
2.PNG (24,434Bytes)

PRIOR의 개념에 대한 이해가 잘되지 않아 질문드립니다.

1번째 사진을 보시면, PRIOR 자식 = 부모 형태를 사용하면 계층구조에서 자식 데이터에서 부모 데이터(자식->부모) 방향으로 전개하는 순방향 전개를 한다. 라고 되어있습니다.

2번째 사진이, 순방향 전개의 예시이구요..

저는 왜 아무리 보아도 부모 -> 자식 방향으로 전개하는 것처럼 보일까요

CONNECT BY PRIOR EMPNO = MGR; 도 부모 = 자식인 것 같아서,

제가 어떤 부분을 착각하고 있는지.. 알려주실 수 있을까요ㅠㅠ

 

by 마농 [2020.05.25 08:14:38]

책의 설명이 이상하네요.


by 부산광어 [2020.05.25 12:43:15]

그러면, 원래 알고 있던 대로 공부하면 될까요?

PRIOR 부모 = 자식 , 부모 -> 자식 (순방향) 으로 알고 있었는데.. 이게 맞을까요?


by 마농 [2020.05.25 13:01:53]

PRIOR 키컬럼 = 부모키컬럼 (순방향 : 부모 -> 자식)
PRIOR 부모키컬럼 = 키컬럼 (역방향 : 자식 -> 부모)


by 부산광어 [2020.05.25 13:33:02]

이해가 잘 되지 않습니다 ㅠㅠ

위의 예시로 살펴보면, 

CONNECT BY PRIOR EMPNO = MGR 에서

EMPNO는 부모 값이고, MGR을 자식 값으로 해서 나타내고 있는데,

이렇게 쿼리문을 짰을 때 결과값이 EMP가 7839인 가장 높은 부모노드부터 자식노드로 흘러가지 않나요?

제가 어디를 잘못 이해하고 있는건지..


by 마농 [2020.05.25 13:45:51]

emp 테이블 자체가 부모 자식 관계가 있는 테이블 이구요.
empno 가 사원번호이고(PK), mgr 이 사원의 관리자의 사원번호(FK : 자기참조) 입니다.
보통 관리자가 부모가 되고 관리대상 사원이 자식이 되는 구조이지요.
이렇게 위에서 아래로 전개되는 것이 일반적인 순방향 전개입니다. (부모 -> 자식)


by 부산광어 [2020.05.25 13:58:20]

감사합니다!

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