SQL 활용 능력 유지를 위한 아카이빙
틀린 내용이 있을 수 있습니다. 언제든 정정 댓글 환영입니다!

대여 기록이 존재하는 자동차 리스트 구하기 - String, Date
문제 조건
자동차 종류가 '세단'인 자동차들 중 10월에 대여한 자동차 ID 리스트를 출력하기.
단, ID 리스트는 중복이 없어야 하고, 자동차 ID 기준 내림차순 정렬
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제 풀이 및 정답
SELECT DISTINCT(C.CAR_ID) AS CAR_ID
FROM CAR_RENTAL_COMPANY_CAR C
INNER JOIN CAR_RENTAL_COMPANY_RENTAL_HISTORY H ON C.CAR_ID = H.CAR_ID
WHERE C.CAR_TYPE= '세단' AND MONTH(H.START_DATE)=10
ORDER BY C.CAR_ID DESC
- 중복되지 않는 자동차 아이디(CAR_ID) 조회를 위해 DISTINCT 사용
- 대여 중인 자동차들의 정보(CAR_RENTAL_COMPANY_CAR) 테이블과 자동차 대여 기록 정보( CAR_RENTAL_COMPANY_RENTAL_HISTORY) 테이블 간 연결을 위해 기준 컬럼 CAR_ID를 활용해 INNER JOIN 사용 (JOIN도 무방)
- 자동차 유형을 '세단'으로 필터링 - 2가지 경우의 수
- C.CAR_TYPE = '세단'
- C.CAR_TYPE LIKE '세단'
- 대여 시작 날짜가 '10월'인 데이터로 필터링 - 2가지 경우의 수
- MONTH(H.START_DATE) = 10
- DATE_FORMAT(H.START_DATE, %m) = '10'
- ORDER BY C.CAR_ID DESC로 자동차 ID 기준 내림차순 정렬
'SQL' 카테고리의 다른 글
| [Do it! SQL 입문] 서브쿼리 (1) | 2025.05.05 |
|---|---|
| [프로그래머스] MYSQL | 성분으로 구분한 아이스크림 총 주문량 (LV.2) (0) | 2025.03.10 |
| [프로그래머스] MYSQL | 카테고리 별 상품 개수 구하기 (LV.2) (0) | 2025.03.08 |
| [프로그래머스] MYSQL | 조건에 맞는 회원수 구하기 (LV.1) (0) | 2025.03.06 |