문제
NULL을 포함한 컬럼에 대한 AVG 계산 설명으로 가장 적절한 것은?
① AVG(컬럼)과 AVG(NVL(컬럼, 0))은 항상 같다. ② AVG(컬럼)은 NULL을 제외하고 평균을 계산한다. ③ AVG(NVL(컬럼, 0))은 NULL을 제외하고 평균을 계산한다. ④ AVG(컬럼)은 NULL이 하나라도 있으면 항상 NULL을 반환한다.
정답
2번
해설
정답: 2. AVG(컬럼)은 NULL을 제외하고 평균을 계산한다.
오답 풀이
- 1번: AVG(NVL(컬럼,0))은 NULL을 0으로 포함해 평균을 내므로 AVG(컬럼)과 달라질 수 있다.
- 2번: AVG의 NULL 처리 방식으로 옳다.
- 3번: NVL로 NULL을 0으로 바꾸면 0도 평균 계산에 포함된다.
- 4번: NULL이 있어도 NULL이 아닌 값이 있으면 평균을 계산한다.
보충 개념 집계 함수는 대부분 NULL을 제외한다. 그러나 NVL로 NULL을 0으로 바꾸면 평균의 분모가 달라져 결과가 달라질 수 있다.