최대 1 분 소요

프로그래머스 사이트 링크

문제

image

image


코드

ver(1) - JOIN 사용
-- CAR_RENTAL_COMPANY_CAR와 CAR_RENTAL_COMPANY_RENTAL_HISTORY를 JOIN하여 조건에 맞는 CAR_ID를 가져온다.
SELECT DISTINCT A.CAR_ID
FROM CAR_RENTAL_COMPANY_CAR AS A
JOIN CAR_RENTAL_COMPANY_RENTAL_HISTORY AS B
ON A.CAR_ID = B.CAR_ID
-- 조건 1: CAR_TYPE이 '세단'이고
WHERE A.CAR_TYPE  = '세단'
-- 조건 2: 대여 시작일이 10월인 데이터만 가져온다.
AND MONTH(B.START_DATE) = 10
-- CAR_ID를 내림차순으로 정렬한다.
ORDER BY A.CAR_ID DESC
ver(2) - 서브쿼리 사용
-- CAR_RENTAL_COMPANY_CAR 테이블에서 CAR_TYPE이 '세단'인 차량 중,
-- CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 대여기록이 있는 차량들 중,
-- 대여 시작 월이 10월인 차량들의 CAR_ID를 가져옵니다.
SELECT DISTINCT CAR_ID
FROM CAR_RENTAL_COMPANY_CAR
WHERE CAR_ID IN (
    SELECT CAR_ID 
    FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY 
    WHERE MONTH(START_DATE) = 10
) AND CAR_TYPE = '세단'
ORDER BY CAR_ID DESC;

댓글남기기