문제
다음 계층형 질의에서 CONNECT_BY_ROOT의 사용법으로 가장 적절한 것은?
SQLSELECT EMP_ID, EMP_NAME, CONNECT_BY_ROOT EMP_NAME AS ROOT_NAME FROM EMPLOYEE START WITH MANAGER_ID IS NULL CONNECT BY PRIOR EMP_ID = MANAGER_ID;
① 각 행의 직속 상사명을 반환 ② 각 행이 속한 계층 구조의 최상위 루트 노드 값을 반환 ③ 각 행의 레벨 값을 반환 ④ 각 행의 자식 노드 개수를 반환
정답
2번
해설
CONNECT_BY_ROOT는 현재 행이 속한 계층 구조의 최상위 루트 노드에서 지정된 컬럼의 값을 반환합니다. 위 예시에서는 각 직원이 속한 조직의 최고 책임자명(루트 노드의 EMP_NAME)을 ROOT_NAME으로 반환합니다. ①은 단순 JOIN, ③은 LEVEL 함수, ④는 집계 함수의 역할입니다.