(프로그래머) 렌탈 기록이 있는 자동차 목록 검색


이 기사에서 사용된 기본 질문 및 데이터 소스는 다음과 같습니다.

프로그래머 코딩 시험 ​​연습,

https://school.programmers.co.kr/learn/challenges?page=1&languages=mysql%2Coracle밝혀

· 이 문제 https://school.programmers.co.kr/learn/courses/30/lessons/157341


질문

문제 설명

아래는 렌터카 회사에서 대여할 수 있는 차량 목록입니다.

CAR_RENTAL_COMPANY_CAR 양식 및 임대 기록 정보 포함 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블.

CAR_RENTAL_COMPANY_CAR 테이블의 구조는 다음과 같습니다.

차량 번호, 자동차 모델, 일일 요금, 옵션 차량 ID, 차종, 일일 렌탈 요금(KRW), 차량 옵션 목록을 각각 나타냅니다.

열 이름 유형 비어 있는
차량 번호 정수 잘못된
자동차 모델 변수(255) 잘못된
일일 요금 정수 잘못된
옵션 변수(255) 잘못된

“세단”, “SUV”, “밴”, “트럭”, “리무진”이 있습니다.

자동차 옵션 목록은 쉼표(‘,’)로 구분된 키워드 목록(예: ‘열선 시트’, ‘스마트 키’, ‘주차 센서’)과 키워드 유형 ‘주차 센서’ 및 ‘스마트 키’로 구성됩니다.

‘,’ 내비게이션’, ‘통풍시트’, ‘열선시트’, ‘후방카메라’, ‘가죽시트’.

CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블 구조는 다음과 같으며, HISTORY_ID, CAR_ID, START_DATE, END_DATE는 각각 렌터카 기록 ID, 자동차 ID, 렌터카 시작일, 렌터카 종료일을 나타냅니다.

.

열 이름 유형 비어 있는
HISTORY_ID 정수 잘못된
차량 번호 정수 잘못된
시작일 날짜 잘못된
종료 날짜 날짜 잘못된

질문

CAR_RENTAL_COMPANY_CAR 테이블과 CAR_RENTAL_COMPANY_RENTAL_HISTORY 자동차 모델이 ‘sedan’이고 렌탈 기록이 10월에 시작하는 자동차 ID 목록을 출력하는 SQL 문을 작성하십시오.

차량 번호 목록은 중복될 수 없으며 차량 번호에 따라 내림차순으로 정렬됩니다.


설명하다

질문 요청

차종이 “세단” > 열 조건 1인 자동차

10월 임대내역이 있습니다 자동차 ID 출력 목록 > 컬럼 조건 2: 날짜 기간(BETWEEN 절 사용)

차량 ID 목록은 중복될 수 없습니다.

출력 시 DISTINCT를 사용하여 중복을 제거하십시오.

차량 ID 내림차순으로 정렬 > 1로 정렬

SELECT DISTINCT CRH.CAR_ID
 FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY CRH
 LEFT JOIN CAR_RENTAL_COMPANY_CAR CRC
 ON CRH.CAR_ID = CRC.CAR_ID
 WHERE CRC.CAR_TYPE = '세단'
 AND CRH.START_DATE BETWEEN '2022-10-01 00:00:00' AND '2022-10-31 23:59:59'
 ORDER BY 1 DESC;