Oracle 에서 다음 SQL을 실행한 결과에 대한 설명으로 옳은 것은… | [SQLD] SQL 개발자 기출유형 모의고사 1회 상세 페이지

1[SQLD] SQL 개발자 기출유형 모의고사 1회
Oracle 에서 다음 SQL을 실행한 결과에 대한 설명으로 옳은 것은?

[카테고리]

코드이름상위코드
C1가전(null)
C2컴퓨터C1
C3노트북C2
C4주방C1
C5도서(null)
SELECT 이름,
       CONNECT_BY_ROOT 이름 AS 루트,
       CONNECT_BY_ISLEAF AS 리프,
       SYS_CONNECT_BY_PATH(이름, '/') AS 경로
  FROM 카테고리
 START WITH 상위코드 IS NULL
CONNECT BY PRIOR 코드 = 상위코드;
1
도서 행의 경로 값은 /도서 이다
2
노트북 행의 루트 값은 컴퓨터이다
3
주방 행의 리프 값은 0이다
4
컴퓨터 행의 리프 값은 1이다
해설

SYS_CONNECT_BY_PATH는 루트부터 현재 행까지 값을 구분자로 이어 붙이되 맨 앞에도 구분자를 두므로, 단독 루트인 도서 행의 경로는 /도서 이다.

CONNECT_BY_ROOT는 그 행이 속한 트리의 루트 값을, CONNECT_BY_ISLEAF 는 자식이 없으면 1, 있으면 0을 돌려준다.

  • 노트북의 루트는 시작 행인 가전이며 컴퓨터는 바로 위 상위일 뿐이다.
  • 주방은 하위 행이 없는 말단이라 리프 값이 1이다.
  • 컴퓨터는 하위에 노트북이 있어 리프 값이 0이다.

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

이어서 풀어보기

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