https://school.programmers.co.kr/learn/courses/30/lessons/151136
코드설명
SELECT + ROUND + AVG 를 활용합니다.
SQL쿼리는 'SUV' 타입의 차량 중에서 DAILY_FEE의 평균값을 계산하고, 그 결과를 소수점 이하를 반올림하여 정수로 반환합니다.
- SELECT 문:
- ROUND(AVG(DAILY_FEE), 0): DAILY_FEE 열의 값들의 평균을 계산한 후, 그 결과를 소수점 이하를 반올림하여 정수로 반환합니다.
- FROM 문:
- FROM CAR_RENTAL_COMPANY_CAR: CAR_RENTAL_COMPANY_CAR 테이블에서 데이터를 가져옵니다.
- WHERE 문:
- WHERE CAR_TYPE = 'SUV': 'SUV' 타입의 차량을 필터링합니다.
저는 아래 2개의 코드인 '=' 혹은 'IN' 을 통해 할 수 있습니다.
IN 연산자와 = 연산자는 SQL에서 조건을 비교할 때 사용되는 연산자로, 기본적인 차이점이 있습니다.
이 문제 같은경우 '='를 활용하는 것이 더 적절합니다.
= 연산자
- = 연산자는 두 값을 비교하여 같은 경우 참(true)을 반환합니다. 주로 단일 값과 단일 값의 동등 비교에 사용됩니다.
SELECT * FROM employees WHERE department_id = 5;
이 쿼리는 department_id가 5인 모든 직원을 검색합니다.
IN 연산자
- IN 연산자는 지정된 열 값이 괄호 안에 명시된 값 목록 중 하나와 일치하는지를 테스트합니다. 따라서 여러 가능한 값 중 하나를 찾는데 적합합니다.
SELECT * FROM employees WHERE department_id IN (5, 12, 7);
이 쿼리는 department_id가 5, 12, 또는 7인 모든 직원을 검색합니다.
이 문제에서는 1개의 값을 찾으니 '=' 가 더 적절합니다.
코드
'='를 활용한 경우
SELECT ROUND(AVG(DAILY_FEE), 0) FROM CAR_RENTAL_COMPANY_CAR WHERE CAR_TYPE = 'SUV'
IN을 활용한경우
SELECT ROUND(AVG(DAILY_FEE), 0) AS AVERAGE_FEE
FROM CAR_RENTAL_COMPANY_CAR AS CRCC1
WHERE CAR_TYPE IN ('SUV')
SELECT
ROUND(AVG(DAILY_FEE), 0) AS AVERAGE_FEE
FROM CAR_RENTAL_COMPANY_CAR
WHERE CAR_TYPE = 'SUV';