SQL 문제
문제 13. 나이 정보가 없는 회원 수 구하기(난이도 7)(SUM, IS NULL)
kagan-draca
2024. 7. 11. 18:16
처음 문제를 보고 나이 정보가 없는 회원의 수를 구해야 하기 때문에 COUNT(AGE)를 사용하고, WHERE문에서 NULL인 대상을 제외시키면 빠르고 쉽게 풀 수 있을거라 생각했다.
하지만,
SELECT COUNT(AGE) AS USER FROM USER_INFO
WHERE AGE IS NULL
을 한 결과 COUNT가 0이 출력됐다. 혹시나 내가 IS NULL 위치를 잘못 적었나 싶어서 COUNT(AGE IS NULL)로 코드를 실행시켜 봤지만, 200이라는 NULL이 아닌 대상 모두가 COUNT 돼었다...
찾아본 결과, SQL에서 NULL을 가지고 COUNT를 계산하면 모두 NULL 값이 반환된다는 사실을 알게 됐다...
(아직 이유는 모르겠습니다...)
그리고 SUM(AGE IS NULL)을 사용하면 나이가 NULL 튜플들의 합이 구해진다는 사실을 알게 됐다.
제출한 코드 :
SELECT SUM(AGE IS NULL) AS USERS FROM USER_INFO