SQL

[프로그래머스] 대여 기록이 존재하는 자동차 리스트 구하기

hminor 2023. 7. 14. 09:38
반응형
-- 방법 1
--  카티션과 WHERE
SELECT DISTINCT T1.CAR_ID
    FROM CAR_RENTAL_COMPANY_CAR T1, CAR_RENTAL_COMPANY_RENTAL_HISTORY T2
    WHERE T1.CAR_ID = T2.CAR_ID 
        AND T1.CAR_TYPE = '세단'
        AND T2.START_DATE LIKE '%-10-%'
    ORDER BY T1.CAR_ID DESC

-- 방법2
--  JOIN과 ON을 사용
SELECT DISTINCT T1.CAR_ID
    FROM CAR_RENTAL_COMPANY_CAR T1 JOIN CAR_RENTAL_COMPANY_RENTAL_HISTORY T2
        ON T1.CAR_ID = T2.CAR_ID 
    WHERE T1.CAR_TYPE = '세단'
        AND T2.START_DATE LIKE '%-10-%'
    ORDER BY T1.CAR_ID DESC

-- 방법3
--  DATE 타입을 MONTH로 찾기 (RETURN은 정수로 나오나고 한다.)
SELECT DISTINCT T1.CAR_ID
    FROM CAR_RENTAL_COMPANY_CAR T1 JOIN CAR_RENTAL_COMPANY_RENTAL_HISTORY T2
        ON T1.CAR_ID = T2.CAR_ID 
    WHERE T1.CAR_TYPE = '세단'
        AND MONTH(T2.START_DATE) = 10
    ORDER BY T1.CAR_ID DESC