Oracle 에서 다음 SQL 을 실행한 결과 행 수는?[분기실적]지점… | [SQLD] SQL 개발자 기출유형 모의고사 2회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 2회
Oracle 에서 다음 SQL 을 실행한 결과 행 수는?[분기실적]
| 지점 | Q1 | Q2 | Q3 |
|---|---|---|---|
| 강남 | 10 | 20 | (null) |
| 판교 | (null) | (null) | (null) |
| 분당 | 5 | (null) | 15 |
| 일산 | 7 | 8 | 9 |
SELECT 지점, 분기, 실적 FROM 분기실적 UNPIVOT (실적 FOR 분기 IN (Q1, Q2, Q3)) ORDER BY 지점, 분기;
1
7
2
12
3
4
4
9
해설
UNPIVOT은 열 Q1~Q3을 행으로 펼치되 기본값이 EXCLUDE NULLS라서 실적이 NULL인 칸은 행으로 만들지 않아 2+0+2+3=7행이다.
세 분기가 모두 NULL인 판교는 결과에서 아예 사라진다.
- 4행은 원본 행 수로, 열을 행으로 펼친다는 점을 놓친 값이다.
- 9행은 판교만 빼고 나머지 NULL 칸은 남긴다고 본 값이다.
- 12행은 INCLUDE NULLS를 지정했을 때의 행 수다.
오류나 개정된 내용이 보이면 알려주세요