https://school.programmers.co.kr/learn/courses/30/lessons/157339
SELECT
cr.CAR_ID,
cr.CAR_TYPE,
ROUND(cr.DAILY_FEE*30*(100-crd.DISCOUNT_RATE)*0.01) AS FEE
FROM
CAR_RENTAL_COMPANY_CAR cr
INNER JOIN CAR_RENTAL_COMPANY_DISCOUNT_PLAN crd
ON cr.CAR_TYPE=crd.CAR_TYPE
WHERE 1=1
AND cr.CAR_TYPE IN('세단','SUV')
AND crd.DURATION_TYPE = '30일 이상'
AND cr.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'
)
HAVING
FEE>=500000 AND FEE<2000000
ORDER BY
FEE DESC,
cr.CAR_TYPE,
cr.CAR_ID DESC
총 세가지 포인트가 있다.
해당 포인트들에 대하여 하나하나 먼저 풀어보는 형식으로 했다.
특히 서브쿼리부분이 마음에 듦..!