본문 바로가기
Data/SQL

[프로그래머스] 특정 기간동안 대여 가능한 자동차들의 대여비용 구하기

by puppyyuyu 2023. 3. 4.

문제

CAR_RENTAL_COMPANY_CAR 테이블과 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블과

CAR_RENTAL_COMPANY_DISCOUNT_PLAN 테이블에서 자동차 종류가 '세단' 또는 'SUV' 인 자동차 중 2022년 11월 1일부터 2022년 11월 30일까지 대여 가능하고 30일간대여 금액이 50만원 이상 200만원 미만인 자동차에 대해서 자동차 ID, 자동차 종류, 대여 금액(컬럼명: FEE) 리스트를 출력하는 SQL문을 작성해주세요. 결과는 대여 금액을 기준으로 내림차순 정렬하고, 대여 금액이 같은 경우 자동차 종류를 기준으로 오름차순 정렬, 자동차 종류까지 같은 경우 자동차 ID를 기준으로 내림차순 정렬해주세요.

 

 

조건1. CAR_RENTAL_COMPANY_RENTAL_HISTORY에서 start_date와 end_date를 활용하여 명시된 대여 가능 기간에 따른 car_id 뽑기

조건2. 30일 간의 기간 타입, 대여 금액 범위는 500,000 이상, 2,000,000 미만

 

 

 

 

실행 코드

car_rental_company_rental_history 테이블을 이중쿼리로 작성하여 대여 가능 기간을 설정해줬다. 대여 가능 기간 조건만 설정하면 나머지는 문제에 따라 차례대로 조건을 추가해주면 정답이 나온다. 코드 보면 뭔가 복잡한 것 같지만... 조건에 따라서 차근차근 작성하니까 구할 수 있었다!

 

근데 문제에 duration_type이 아니라.. dutaion_type으로 오타가 나있어서 처음에 오타난 컬럼명으로 쿼리 작성하다가 계속 오류가 나서 당황했다.. 그냥 스펠링 틀린 채로 컬럼명을 설정했다고 생각했는데...아니었다. ㅎㅎ