조건을 만족하는 행이 없을 때 다음 Oracle SQL의 결과는?
SELECT NVL(COUNT(*), 9999) FROM T WHERE 1 = 0;
정답 4번
WHERE 1=0은 입력 행을 모두 제거하지만 COUNT(*)는 빈 입력에 대해 NULL이 아니라 숫자 0을 반환한다. NVL은 첫 번째 인수가 NULL일 때만 두 번째 값 9999로 바꾸므로 `NVL(0, 9999)`의 결과는 그대로 0이다. SUM이나 AVG는 입력 행이 없으면 NULL이 될 수 있지만 COUNT는 행 개수를 나타내기 때문에 0을 반환한다는 차이를 구분해야 한다.
콘텐츠 정보
- 자료 유형
- 편집복원
- 검수 상태
- 내용 검수 완료
- 해설 작성·검수
- 정처LAB 편집 기준
- 최종 검수
- 2026-08-21