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

yannie·2024년 10월 1일
0

[문제]

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

[내가 푼 풀이(오답)]

-- 자동차 종류가 '세단'인 자동차
-- 10월에 대여를 시작한 기록이 있는 자동차
SELECT
    R.CAR_ID
FROM CAR_RENTAL_COMPANY_CAR R
INNER JOIN CAR_RENTAL_COMPANY_RENTAL_HISTORY H
ON R.CAR_ID = H.CAR_ID
WHERE CAR_TYPE = '세단' AND START_DATE LIKE '2022-10%'
ORDER BY CAR_ID DESC
;
  • 중복 제거를 하지 않아서 오답

[내가 푼 풀이(정답)]

-- 자동차 종류가 '세단'인 자동차
-- 10월에 대여를 시작한 기록이 있는 자동차
SELECT
    DISTINCT(R.CAR_ID) AS CAR_ID
FROM CAR_RENTAL_COMPANY_CAR R
INNER JOIN CAR_RENTAL_COMPANY_RENTAL_HISTORY H
ON R.CAR_ID = H.CAR_ID
WHERE CAR_TYPE = '세단' AND START_DATE LIKE '2022-10%'
ORDER BY CAR_ID DESC
;

[코드리뷰]

  • INNER JOIN을 통해 CAR_RENTAL_COMPANY_CAR와 CAR_RENTAL_COMPANY_RENTAL_HISTORY를 결합
  • WHERE절을 통해 CAR_TYPE이 '세단'이고 대여 시작일이 '10월'인
    두 가지 조건을 만족하는 데이터로 필터링
  • DISTINCT를 통해 중복 제거

기억해!

0개의 댓글