https://school.programmers.co.kr/learn/courses/30/lessons/157341
문제
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 start_date between "2022-10-01" and "2022-10-31"
order by c.car_id desc
해설
- 먼저, 자동차 종류가 있는 테이블과 대여를 시작한 기록이 있는 테이블은 각각 다르기 때문에 left join을 사용한다.
두 테이블을 병합한 이후, 자동차 타입이 "세단"인 것을 조건걸고, 대여를 시작한 기록이 10월인 것들을 추출하면 된다.
(테이블 명 뒤에 있는 c 또는 h는 company와 history를 줄인 말이고, alias를 생략할 수 있기 때문에 생략하였다.)
'Coding Test > SQL' 카테고리의 다른 글
프로그래머스 SQL Lv.4 [자동차 대여 기록 별 대여 금액 구하기] (0) | 2023.02.22 |
---|---|
프로그래머스SQL Lv.3 [자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기] (0) | 2023.02.17 |
프로그래머스 SQL Lv.1 [평균 일일 대여 요금 구하기] (0) | 2023.02.16 |
프로그래머스 SQL Lv.1 [특정 옵션이 포함된 자동차 리스트 구하기] (0) | 2023.02.16 |
프로그래머스 SQL Lv.1 [자동차 대여 기록에서 장기/단기 대여 구분하기] (0) | 2023.02.16 |