잡은 물고기 중 길이가 10cm 이하인 물고기 수 출력
- 잡은 물고기의 길이가 10cm 이하인 경우
LENGTH = NULL
LENGTH
컬럼에서 NULL이 있는 경우를 IS NULL로 찾는다.- COUNT를 활용하여 NULL이 있는 데이터 수를 계산한다.
SELECT COUNT(*) AS FISH_COUNT FROM FISH_INFO WHERE LENGTH IS NULL;
-- 틀린 풀이 SELECT COUNT(LEGNTH) AS FISH_COUNT FROM FISH_INFO WHERE LENGTH IS NULL;
- COUNT를 할 때 해당 컬럼에 대해서만 COUNT를 하면 될 것이라고 생각해서 LENGTH 컬럼만 COUNT를 걸었다. 하지만 COUNT=0이라고 문제가 발생.
COUNT(컬럼명)
은 해당 열에서 NULL이 아닌 값의 개수
를 센다.
- WHERE 절로 NULL 값만 필터링된 상태이므로
COUNT(LENGTH)
사용 시 LENGTH컬럼은 NULL만 있으므로 COUNT=0이 나타남.
COUNT(*)
는 행 전체를 기준으로 개수를 센다.
COUNT(*)
사용 시 LENGTH컬럼의 NULL 여부와 상관 없이 현재 필터링된 전체 데이터 행의 수를 세므로 COUNT값이 원하는데로 산출!