문제
코딩테스트 연습 - 평균 일일 대여 요금 구하기 | 프로그래머스 스쿨
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
풀이
SELECT ROUND(AVG(DAILY_FEE)) AS AVERAGE_FEE
FROM CAR_RENTAL_COMPANY_CAR
WHERE CAR_TYPE = 'SUV'
가장 기본적인 SELECT 문제이다.
여기서 중요한 것은 ROUND, AVG, AS 키워드라고 할 수 있다.
ROUND는 기본적으로 소수점 첫 번째 자리에서 반올림을 하는 함수이다.
하지만 경우에 따라 두 번째 자리에서도 하고 싶을 수도 있을 것이다.
이럴 땐, ROUND(값, 2) 이런 식으로 작성하면 된다.
AVG는 평균을 구하는 집계함수이다.
이 문제에선 DAILY_FEE의 평균을 구하기 위해 사용되었는데, AVG는 잠재적으로 NULL을 반환할 가능성이 있다.
그렇기에 더 안정성을 원한다면 IFNULL(AVG(DAILY_FEE), 0) 처럼 NULL을 0으로 치환하면 된다.
AS는 결과로 표시하는 칼럼의 별명을 지어주는 것이다.
이 문제에선 AVERAGE_FEE 으로 칼럼명을 변경하기를 원하고 있기 때문에 AS를 사용한다.
WHERE CAR_TYPE = 'SUV'
추가로 문자열 비교 시에 " "보다 ' '을 사용하는 것이 좋다고 알려져 있다.
MYSQL에선 알아서 문자열로 인식하지만 특정 데이터베이스에선 객체로 인식할 위험성이 있다.
'DB > SQL' 카테고리의 다른 글
[SQL]3월에 태어난 여성 회원 목록 출력하기 (0) | 2025.02.11 |
---|