잡은 물고기의 평균 길이를 출력하는 SQL문을 작성해주세요. 평균 길이를 나타내는 컬럼 명은 AVERAGE_LENGTH로 해주세요. 평균 길이는 소수점 3째자리에서 반올림하며, 10cm 이하의 물고기들은 10cm 로 취급하여 평균 길이를 구해주세요.
# 잡은 물고기의 평균 길이를 출력
# 평균 길이를 나타내는 컬럼 명은 AVERAGE_LENGTH
# 평균 길이는 소수점 3째자리에서 반올림하며, 10cm 이하의 물고기들은 10cm 로 취급
SELECT ROUND(AVG(IFNULL(LENGTH,10)),2) AS AVERAGE_LENGTH
FROM FISH_INFO
이 문제를 풀 때 IFNULL()
를 사용해야 하는지, NULLIF()
사용해야 하는지 헷갈렸다. 두 함수의 사용법을 다시 정리하자면,
IFNULL(*expression*, *alt_value*)
: expression이 null이면 alt_value로 표현되고, null이 아니면 그 값을 그대로 표현
NULLIF(*expr1*, *expr2*)
: expr1=expr2이면 null을 출력하고, 그렇지 않으면 expr1을 출력.
이고 참고로 ISNULL()
은 ,
ISNULL(*expression*)
: expression이 null이면 1, 그렇지 않으면 0을 출력.
이다.