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

NoHae·2025년 10월 28일

SQL

목록 보기
77/86

문제 출처

코딩테스트 > String, Date > 대여 기록이 존재하는 자동차 리스트 구하기
https://school.programmers.co.kr/learn/courses/30/lessons/157341

문제 설명

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

접근 방법

서브 쿼리를 통해 CAR_RENTAL_COMPANY_CAR 테이블에서 CAR_TYPE가 "세단"인 것들을 가져온다.
이 후, CAR_RENTAL_HISTORY와 CAR_ID 기준으로 JOIN 하고 그 중, 2022-10월과 그 이후 인 것들을 SELECT 한다.

SELECT DISTINCT(RH.CAR_ID)
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY AS RH
JOIN (
    SELECT *
    FROM CAR_RENTAL_COMPANY_CAR
    WHERE CAR_TYPE LIKE "세단"
) AS SEDAN
ON RH.CAR_ID = SEDAN.CAR_ID
WHERE DATE_FORMAT(START_DATE, "%Y-%m") >= "2022-10"
ORDER BY RH.CAR_ID DESC

알게된 점

실수로 JOIN과 WHERE 위치를 바꿔서 문법 오류가 났었었다.

문제푼 흔적

profile
노력 해보려고 하는 사람(00년생 소프트웨어융합학과, 24년 12월 부터 백엔드 및 코테 공부 시작)

0개의 댓글