데이터베이스 기초
성적 표의 점수 열에 50, NULL, 70, NULL, 90, 30의 6개 값이 있다. SELECT COUNT(*), COUNT(점수), AVG(점수) FROM 성적의 결과를 순서대로 나열한 것은?
- A6, 6, 40
- B6, 4, 40
- C6, 4, 60
정답과 해설 보기
정답: C. 6, 4, 60
COUNT(*)는 NULL을 포함하는지와 관계없이 행의 수를 세므로 6입니다. COUNT(점수)처럼 열을 지정하면 그 열이 NULL이 아닌 행만 세므로 4입니다. AVG(점수)는 NULL이 아닌 4개 값의 합계 50 + 70 + 90 + 30 = 240을 NULL이 아닌 값의 개수 4로 나누므로 240 ÷ 4 = 60입니다. 합계를 전체 행 수로 나눈 SUM(점수) / COUNT(*) = 240 ÷ 6 = 40과는 일치하지 않는다는 점에 주의해야 합니다. NULL을 0점으로 다루고 싶다면 COALESCE(점수, 0)로 바꾼 뒤 집계합니다.