Oracle 기준으로 다음 SQL 의 실행 결과로 옳은 것은?[승무원]… | [SQLD] SQL 개발자 기출유형 모의고사 4회 상세 페이지

1[SQLD] SQL 개발자 기출유형 모의고사 4회
Oracle 기준으로 다음 SQL 의 실행 결과로 옳은 것은?

[승무원]

사번이름상급자사번
1강기장(null)
2남부기장1
3도사무장1
4류승무원3
5문승무원3
6박승무원2
SELECT LEVEL AS LV, 사번, 이름
  FROM 승무원
 WHERE 사번 <> 3
 START WITH 사번 = 1
CONNECT BY PRIOR 사번 = 상급자사번
 ORDER BY LV, 사번;
1
LV사번이름
11강기장
22남부기장
34류승무원
35문승무원
36박승무원
2
LV사번이름
11강기장
22남부기장
36박승무원
3
LV사번이름
11강기장
22남부기장
24류승무원
25문승무원
36박승무원
4
LV사번이름
11강기장
22남부기장
23도사무장
34류승무원
35문승무원
36박승무원
해설

계층형 질의에서 WHERE 절은 전개가 끝난 뒤 적용되므로 도사무장(3) 한 행만 빠지고, 그 아래 류승무원·문승무원은 LEVEL 3 그대로 남아 5행이다.

START WITH 사번 = 1 에서 PRIOR 사번 = 상급자사번 으로 부모에서 자식 방향으로 내려가며, 깊이는 강기장 1, 남부기장·도사무장 2, 나머지 3이다.

  • 도사무장 아래가 함께 사라진 표는 조건을 CONNECT BY 절에 둔 결과이다.
  • 류승무원·문승무원이 LEVEL 2 인 표는 행을 거른 뒤 깊이를 다시 매긴다고 본 것이다.
  • 도사무장이 남은 표는 WHERE 조건을 무시한 결과이다.

오류나 개정된 내용이 보이면 알려주세요

이어서 풀어보기

[SQLD] SQL 개발자 기출유형 모의고사 4회 50문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요SQLD SQL 개발자 실전 모의고사 암기장 전체 보기