Oracle 에서 다음 SQL 을 실행했을 때, 코드가 D 인 행의 값… | [SQLD] SQL 개발자 기출유형 모의고사 10회 상세 페이지

1[SQLD] SQL 개발자 기출유형 모의고사 10회
Oracle 에서 다음 SQL 을 실행했을 때, 코드가 D 인 행의 값으로 옳지 않은 것은?

[조직]

코드상위
A(null)
BA
CA
DB
SELECT LEVEL, 코드, PRIOR 코드 AS 부모,
       CONNECT_BY_ROOT 코드 AS 루트,
       CONNECT_BY_ISLEAF AS 말단
  FROM 조직
 START WITH 상위 IS NULL
CONNECT BY PRIOR 코드 = 상위;
1
CONNECT_BY_ROOT 코드 = A
2
PRIOR 코드 = A
3
LEVEL 값 = 3
4
CONNECT_BY_ISLEAF = 1
해설

SELECT 절의 PRIOR 코드 는 현재 행의 부모 행 값을 돌려주므로, D 행에서는 부모인 B 가 나오고 A 가 아니다.

D 는 A→B→D 경로의 세 번째 단계라 LEVEL 이 3이고, 자식이 없어 CONNECT_BY_ISLEAF 는 1이다.

  • LEVEL 은 루트를 1로 시작해 한 단계 내려갈 때마다 1씩 늘어난다.
  • D 아래에는 자식 행이 없으므로 말단 표시가 1이다.
  • CONNECT_BY_ROOT 는 그 행이 속한 계층의 루트인 A 를 돌려준다.

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

이어서 풀어보기

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