SQL/문제풀이
잡은 물고기의 평균 길이 구하기 _ Lv1. 프로그래머스 *
데이터분석가 이채은
2024. 8. 28. 09:00
Solution
SELECT ROUND(AVG(CASE
WHEN LENGTH IS NULL THEN 10
ELSE LENGTH
END), 2) AS AVERAGE_LENGTH
FROM FISH_INFO;
ROUND 키워드는 반올림할 때 사용하는 키워드이다. 소수 점 아래 세 번째 자리에서 반올림을 해야 하므로 소수 점 아래 두 번째 자리까지 나타나야 해서 2를 사용했다. ROUND(_____ , 2)
AVG는 평균을 구해주는 함수이다.
여기서 KEY POINT는 NULL일 때 '10cm'로 계산해야 한다는 것이다. Python, R, Java에서 IF 문을 사용했던 기억이 있어서 찾아봤더니 MySQL 같은 경우는 IF문을 사용하지만 지원하지 않는 데이터베이스가 있다. 대부분 CASE - END 문을 사용한다.
CASE - END 문은 SQL에서 조건에 따라 값을 반환하는 조건문이다. 여러 조건을 평가하고 그에 맞는 결과를 반환하는 데 사용한다. 사용 방법은 아래와 같다.
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default_result
END