다음 [강좌] 테이블 전체를 대상으로 SELECT 절에 넣어 실행했을 … | [SQLD] SQL 개발자 기출유형 모의고사 7회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 7회
다음 [강좌] 테이블 전체를 대상으로 SELECT 절에 넣어 실행했을 때 결과가 나머지 셋과 다른 것은?[강좌]
| 강좌번호 | 수강료 |
|---|---|
| 1 | 100 |
| 2 | 200 |
| 3 | (null) |
| 4 | 300 |
1
SUM(수강료) / COUNT(수강료)
2
MAX(수강료) - MIN(수강료)
3
AVG(COALESCE(수강료, 0))
4
AVG(수강료)
해설
AVG·SUM·COUNT(열)은 NULL 행을 제외하고 계산하므로 AVG(수강료)는 600/3=200 이지만, COALESCE 로 NULL 을 0 으로 바꾸면 4행 모두 평균에 들어가 600/4=150 이 된다.
집계 전에 NULL 을 다른 값으로 바꾸면 분모가 달라진다는 점이 핵심이다.
- AVG(수강료)는 NULL 을 빼고 세 값을 평균해 200 이다.
- SUM 600 을 COUNT(수강료) 3 으로 나누어 200 이다.
- MAX·MIN 도 NULL 을 빼고 300 과 100 으로 계산해 차가 200 이다.
오류나 개정된 내용이 보이면 알려주세요