Oracle 기준으로 다음 SQL 을 실행했을 때, 결과 중 내과 행에… | [SQLD] SQL 개발자 기출유형 모의고사 6회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 6회
Oracle 기준으로 다음 SQL 을 실행했을 때, 결과 중 내과 행에 대한 설명으로 옳은 것은?[조직]
| 조직코드 | 조직명 | 상위코드 |
|---|---|---|
| H0 | 병원장실 | (null) |
| H1 | 진료부 | H0 |
| H2 | 간호부 | H0 |
| H3 | 내과 | H1 |
| H4 | 외과 | H1 |
SELECT 조직명, LEVEL AS LV,
SYS_CONNECT_BY_PATH(조직명, '/') AS 경로,
CONNECT_BY_ISLEAF AS 말단,
CONNECT_BY_ROOT 조직명 AS 최상위
FROM 조직
START WITH 상위코드 IS NULL
CONNECT BY PRIOR 조직코드 = 상위코드;1
말단 값은 0이다
2
LV 값은 2이다
3
최상위 값은 진료부이다
4
경로 값은 /병원장실/진료부/내과이다
해설
SYS_CONNECT_BY_PATH 는 루트부터 현재 행까지 조직명을 구분자로 이어 붙이고 구분자로 시작하므로, 내과의 경로는 /병원장실/진료부/내과이다.
내과는 병원장실, 진료부 다음 세 번째 단계이고 하위 조직이 없어 CONNECT_BY_ISLEAF 가 1 이다.
- 내과의 LEVEL 은 루트가 1 이므로 3이다.
- 자식이 없는 행이므로 말단 값은 1이다.
- CONNECT_BY_ROOT 는 시작 행인 병원장실을 돌려준다.
오류나 개정된 내용이 보이면 알려주세요