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

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

[의사]

의사ID의사명지도의사ID
1윤하3
2서진1
3도윤2
4채원1
SELECT 의사명, LEVEL AS LV,
       CONNECT_BY_ISCYCLE AS CYC
  FROM 의사
 START WITH 의사ID = 1
CONNECT BY NOCYCLE PRIOR 의사ID = 지도의사ID
 ORDER SIBLINGS BY 의사명;
1
의사명LVCYC
윤하11
서진20
도윤30
채원20
2
의사명LVCYC
윤하10
서진20
도윤31
채원20
3
의사명LVCYC
윤하10
서진20
도윤30
윤하41
채원20
4
의사명LVCYC
윤하10
서진20
채원20
도윤31
해설

도윤의 지도 대상이 다시 윤하라 순환이 생기지만 NOCYCLE 이 이미 경로에 있는 윤하로의 전개를 멈추고, 그 순환을 일으킨 도윤 행에 CONNECT_BY_ISCYCLE 1 을 준다.

계층은 깊이 우선으로 전개되어 윤하 아래 서진, 서진 아래 도윤이 먼저 나온 뒤 형제인 채원이 나온다.

  • 윤하에 1 을 준 결과는 순환의 시작점을 표시한다고 오해한 것이다.
  • 채원이 도윤보다 먼저인 결과는 너비 우선으로 전개한 것이다.
  • 윤하가 4레벨로 다시 나온 결과는 NOCYCLE 이 순환 행을 출력한다고 본 것이다.

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

이어서 풀어보기

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