코딩 테스트/SQL

대여 기록이 존재하는 자동차 리스트 구하기

susinlee 2024. 12. 12. 09:34

[문제]
CAR_RENTAL_COMPANY_CAR 테이블과 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 자동차 종류가 '세단'인 자동차들 중 10월에 대여를 시작한 기록이 있는 자동차 ID 리스트를 출력하는 SQL문을 작성해주세요. 자동차 ID 리스트는 중복이 없어야 하며, 자동차 ID를 기준으로 내림차순 정렬해주세요.


[단계별 풀이]
1. 두 테이블을 CAR_ID 기준으로 JOIN

2. CAR_TYPE이 '세단'이면서 대여 시작일이 10월인 행들만 필터링

3. DISTINCT 를 활용하여 고유 자동차 ID만 출력

4. 자동차ID 기준으로 내림차순 정


[정답]

SELECT DISTINCT(C.CAR_ID) AS CAR_ID
FROM CAR_RENTAL_COMPANY_CAR C
JOIN CAR_RENTAL_COMPANY_RENTAL_HISTORY H
ON C.CAR_ID = H.CAR_ID
WHERE C.CAR_TYPE = '세단'
AND MONTH(H.START_DATE) = 10
ORDER BY CAR_ID DESC