[MySQL-Lv1] Null 처리하기. 잔챙이 잡은 수 구하기

박경희·2025년 1월 8일

코딩테스트

목록 보기
40/69

정답

select count(*) as FISH_COUNT
from fish_info
where length is null

1.COUNT(NULL 처리)

SELECT COUNT(*) - COUNT(column_name) AS null_count
FROM table_name;
  • COUNT(*) → 전체 행 개수
  • COUNT(column_name → NULL이 아닌 값의 개수
  • (전체 개수 - NULL이 아닌 개수) → NULL 개수

2. SUM(CASE WHEN column IS NULL THEN 1 ELSE 0 END)

SELECT SUM(CASE WHEN column_name IS NULL THEN 1 ELSE 0 END) AS null_count
FROM table_name;
  • CASE WHEN column_name IS NULL THEN 1 ELSE 0→ NULL이면 1, 아니면 0
  • SUM()으로 NULL 개수만 합산.

3. COUNT(*) + WHERE column IS NULL

SELECT COUNT(*)
FROM FISH_INFO
WHERE LENGTH IS NULL;
  • WHERE column_name IS NULL → NULL 값만 필터링
  • COUNT(*) → NULL 값 개수만 반환

✅ 정리

✔ WHERE column_name IS NULL이 가장 직관적이다.
✔ 데이터 분석 시는 SUM(CASE) 방식이 더 명확하다.
COUNT(*) -> NULL 포함 모든 행 개수를 반환한다.
COUNT(column_name) -> NULL이 아닌 값만 개수를 반환한다.

0개의 댓글