https://school.programmers.co.kr/learn/courses/30/lessons/151136

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

코드설명

SELECT + ROUND + AVG 를 활용합니다.

 

SQL쿼리는 'SUV' 타입의 차량 중에서 DAILY_FEE의 평균값을 계산하고, 그 결과를 소수점 이하를 반올림하여 정수로 반환합니다.

 

  1. SELECT 문:
    • ROUND(AVG(DAILY_FEE), 0): DAILY_FEE 열의 값들의 평균을 계산한 후, 그 결과를 소수점 이하를 반올림하여 정수로 반환합니다.
  2. FROM 문:
    • FROM CAR_RENTAL_COMPANY_CAR: CAR_RENTAL_COMPANY_CAR 테이블에서 데이터를 가져옵니다.
  3. 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';

+ Recent posts