Oracle 기준으로 다음 SQL 의 결과에 대한 설명으로 옳은 것은?… | [SQLD] SQL 개발자 기출유형 모의고사 5회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 5회
Oracle 기준으로 다음 SQL 의 결과에 대한 설명으로 옳은 것은?[분류]
| 분류코드 | 분류명 | 상위코드 |
|---|---|---|
| 1 | 문학 | (null) |
| 2 | 소설 | 1 |
| 3 | 시 | 1 |
| 4 | 한국소설 | 2 |
| 5 | 외국소설 | 2 |
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
문학 행의 경로는 '문학'이다
4
한국소설 행의 잎 값은 1이다
해설
한국소설은 하위 분류가 없는 말단이므로 CONNECT_BY_ISLEAF 가 1이다.
CONNECT_BY_ROOT 는 모든 행에 시작 행인 문학을 돌려주고, SYS_CONNECT_BY_PATH 는 구분자로 시작해 /문학/소설/한국소설처럼 현재 행에서 끝난다.
- 소설 행의 루트 값은 자기 자신이 아니라 최상위 분류인 문학이다.
- 문학 행의 경로는 구분자가 앞에 붙은 '/문학'이다.
- 경로는 구분자로 시작하고 현재 행의 이름으로 끝나므로 '/' 로 끝나지 않는다.
오류나 개정된 내용이 보이면 알려주세요