https://school.programmers.co.kr/learn/courses/30/lessons/157341
코딩테스트 연습 > String, Date > 대여 기록이 존재하는 자동차 리스트 구하기
문제 분석
난이도: LEVEL3
문제 요구사항
CAR_RENTAL_COMPANY_CAR 테이블과 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 자동차 종류가 '세단'인 자동차들 중 10월에 대여를 시작한 기록이 있는 자동차 ID 리스트를 출력하는 SQL문을 작성해주세요.
자동차 ID 리스트는 중복이 없어야 하며, 자동차 ID를 기준으로 내림차순 정렬해주세요.
정답 코드1
SELECT DISTINCT C.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 -- 10월에 대여를 시작한
ORDER BY 1 DESC -- 자동차 ID 기준 내림차순
자동차 ID 리스트 중복 제거: DISTINCT 활용
정답 코드2
SELECT C.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 -- 10월에 대여를 시작한
GROUP BY C.CAR_ID
ORDER BY 1 DESC -- 자동차 ID 기준 내림차순
자동차 ID 리스트 중복 제거: GROUP BY 활용
'Algorithm > Programmers SQL' 카테고리의 다른 글
[MySQL] 프로그래머스 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 (0) | 2024.09.16 |
---|---|
[MySQL] 프로그래머스 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 (0) | 2024.09.16 |
[MySQL] 프로그래머스 조건에 맞는 사용자와 총 거래금액 조회하기 (0) | 2024.09.15 |
[MySQL] 프로그래머스 조건에 맞는 사용자 정보 조회하기 (1) | 2024.09.15 |
[MySQL] 프로그래머스 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 (1) | 2024.09.15 |