Oracle 기준으로 다음 SQL 의 결과 행 수와 LEVEL 의 최댓… | [SQLD] SQL 개발자 기출유형 모의고사 5회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 5회
Oracle 기준으로 다음 SQL 의 결과 행 수와 LEVEL 의 최댓값을 순서대로 나열한 것은?[분류]
| 분류코드 | 분류명 | 상위분류코드 |
|---|---|---|
| 1 | 전체 | (null) |
| 2 | 인문 | 1 |
| 3 | 과학 | 1 |
| 4 | 철학 | 2 |
| 5 | 역사 | 2 |
| 6 | 한국사 | 5 |
| 7 | 물리 | 3 |
| 8 | 서양사 | 5 |
SELECT LEVEL, 분류명 FROM 분류 START WITH 분류명 = '인문' CONNECT BY PRIOR 분류코드 = 상위분류코드;
1
5, 3
2
2, 2
3
5, 4
4
4, 2
해설
START WITH 로 지정한 인문이 LEVEL 1 이 되고, PRIOR 분류코드 = 상위분류코드 는 부모의 코드를 자식의 상위코드로 찾는 순방향 전개라 인문의 하위만 펼쳐진다.
인문(1)·철학(2)·역사(2)·한국사(3)·서양사(3)의 5행이며, 인문의 상위인 전체와 다른 가지인 과학·물리는 나오지 않는다.
- 5와 4는 LEVEL 을 시작 행이 아닌 최상위 전체부터 센 경우이다.
- 2와 2는 PRIOR 위치를 반대로 읽어 인문에서 전체로 올라간 역방향 결과이다.
- 4와 2는 시작 행이 결과에 포함되지 않는다고 본 경우이다.
오류나 개정된 내용이 보이면 알려주세요