문제
다음 SQL의 실행 결과로 옳은 것은?
| BONUS | SALARY |
|---|---|
| 1000 | 3000 |
| 1000 | 2500 |
| NULL | 4000 |
① 1000, 2000 ② 1000, 3000 ③ 1000, 2500 ④ NULL, 2500
정답
3번
해설
정답: 3. AVG(BONUS)는 NULL을 제외하고 (1000 + 1000) / 2 = 1000이고, MIN(SALARY)는 2500이다.
오답 풀이
- 1번: SALARY 최솟값이 2000이 아니다.
- 2번: MIN(SALARY)는 3000이 아니라 2500이다.
- 3번: AVG와 MIN 계산이 모두 맞다.
- 4번: AVG는 집계 대상에 NULL이 일부 포함되어도 전체 결과가 NULL이 되지 않는다.
보충 개념 AVG, MIN, MAX, SUM 등 대부분의 집계 함수는 NULL을 제외하고 계산한다.