Algorithm/SQL

[MySQL] 특정 기간동안 대여 가능한 자동차들의 대여비용 구하기

say! 2026. 6. 26. 18:07
728x90

 

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

날짜 조건 확인 잘하기!

 

# 자동차 종류가 '세단' 또는 'SUV'
# 2022년 11월 1일부터 2022년 11월 30일까지 대여 가능
# 30일간의 대여 금액이 50만원 이상 200만원 미만
# > 자동차 ID, 자동차 종류, 대여 금액(컬럼명: FEE)
SELECT DISTINCT R.CAR_ID, R.CAR_TYPE, (R.DAILY_FEE * 30 * (100-D.DISCOUNT_RATE)*0.01) AS FEE
FROM CAR_RENTAL_COMPANY_CAR R JOIN CAR_RENTAL_COMPANY_RENTAL_HISTORY H ON R.CAR_ID=H.CAR_ID
JOIN CAR_RENTAL_COMPANY_DISCOUNT_PLAN D ON R.CAR_TYPE = D.CAR_TYPE
WHERE R.CAR_TYPE IN ('세단','SUV') AND D.DURATION_TYPE LIKE '30%' AND
    R.CAR_ID NOT IN (
        SELECT CAR_ID
        FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
        WHERE START_DATE <= '2022-11-30' AND END_DATE >= '2022-11-01') AND
    (R.DAILY_FEE * 30 * (100-D.DISCOUNT_RATE)*0.01) >= 500000 AND (R.DAILY_FEE * 30 * (100-D.DISCOUNT_RATE)*0.01) < 2000000
ORDER BY FEE DESC, R.CAR_TYPE ASC, R.CAR_ID DESC