문제
부서 ID가 100인 부서에서 시작하여 최상위부터 최하위 부서까지 출력하려고 한다. 계층형 질의의 CONNECT BY 조건으로 가장 적절한 것은?
<테이블> 부서(부서ID, 상위부서ID, 부서명)
① START WITH 부서ID = 100 CONNECT BY PRIOR 상위부서ID = 부서ID ② START WITH 부서ID = 100 CONNECT BY PRIOR 부서ID = 상위부서ID ③ CONNECT BY PRIOR 상위부서ID = 부서ID ④ CONNECT BY 부서ID = PRIOR 상위부서ID
정답
2번
해설
정답: 2. 부모 행의 부서ID가 자식 행의 상위부서ID와 같아야 하위 부서 방향으로 탐색된다.
오답 풀이
- 1번: 부모의 상위부서ID와 자식의 부서ID를 비교하므로 상위 방향 탐색에 가깝다.
- 2번: 하위 부서 방향 계층 탐색 조건이다.
- 3번: 시작 조건이 없고 방향도 부적절하다.
- 4번: 상위 방향 탐색 조건에 가깝다.
보충 개념
CONNECT BY PRIOR 부모컬럼 = 자식컬럼 형태는 부모에서 자식 방향으로 탐색한다. PRIOR가 어느 쪽에 붙는지가 방향을 결정한다.