프로그래머스/My SQL

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

싱싱한복초이 2024. 12. 1. 10:25

https://school.programmers.co.kr/learn/courses/30/lessons/157341

 

프로그래머스

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

programmers.co.kr

[문제]

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

 

[나의 풀이]

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

 

[다른 풀이]

SELECT DISTINCT(CAR_ID)
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE MONTH(START_DATE) = 10
	AND CAR_ID IN (
		SELECT CAR_ID
		FROM CAR_RENTAL_COMPANY_CAR
		WHERE CAR_TYPE = '세단')
ORDER BY CAR_ID DESC;