학습용 기출·복원자료 분류 확인SQLD · 2025년 57회 SQL 기본 및 활용 · 30번
부서코드 11에서 시작해 11→7→2 순으로 상위 부서를 조회하는 SQL은?
EMP
부서코드
상위부서코드
1
NULL
2
NULL
4
1
5
1
7
2
8
3
11
7
1
START WITH 부서코드=2 CONNECT BY 상위부서코드 = PRIOR 부서코드
오답 이유시작점이 2이고 부모에서 자식으로 내려가므로 원하는 경로가 아니다. 따라서 1번 보기 ‘START WITH 부서코드=2 CONNECT BY 상위부서코드 = PRIOR 부서코드’의 적용 여부를 문제 조건과 대조해야 한다.
2
START WITH 부서코드=2 CONNECT BY PRIOR 상위부서코드 = 부서코드
오답 이유방향은 상향이지만 시작점이 11이 아니라 2다. 따라서 2번 보기 ‘START WITH 부서코드=2 CONNECT BY PRIOR 상위부서코드 = 부서코드’의 적용 여부를 문제 조건과 대조해야 한다.
3
START WITH 부서코드=11 CONNECT BY PRIOR 상위부서코드 = 부서코드
정답 근거직전 자식 행의 상위부서코드를 현재 행의 부서코드와 비교하면 부모 방향으로 올라간다. 시작 부서를 11로 지정해야 결과가 11,7,2가 된다. 따라서 3번 보기 ‘START WITH 부서코드=11 CONNECT BY PRIOR 상위부서코드 = 부서코드’의 적용 여부를 문제 조건과 대조해야 한다.
4
START WITH 부서코드=11 CONNECT BY 상위부서코드 = PRIOR 부서코드
오답 이유11의 자식을 찾는 하향 전개라 부모 7을 찾지 못한다. 따라서 4번 보기 ‘START WITH 부서코드=11 CONNECT BY 상위부서코드 = PRIOR 부서코드’의 적용 여부를 문제 조건과 대조해야 한다.
ANSWER & EXPLANATION
정답 3번
핵심 판단은 3번 ‘START WITH 부서코드=11 CONNECT BY PRIOR 상위부서코드 = 부서코드’입니다. 직전 자식 행의 상위부서코드를 현재 행의 부서코드와 비교하면 부모 방향으로 올라간다. 시작 부서를 11로 지정해야 결과가 11,7,2가 된다.