Post

자동차 대여 기록 별 대여 금액 구하기

String, Date

자동차 대여 기록 별 대여 금액 구하기


문제 설명

문제 설명

다음은 어느 자동차 대여 회사에서 대여 중인 자동차들의 정보를 담은 CAR_RENTAL_COMPANY_CAR 테이블과 자동차 대여 기록 정보를 담은 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블, 그리고 자동차 종류별 대여 기간 종류별 할인 정책 정보를 담은 CAR_RENTAL_COMPANY_DISCOUNT_PLAN 테이블입니다.


CAR_RENTAL_COMPANY_CAR 테이블

Column nameTypeNullableDescription
CAR_IDINTEGERFALSE자동차 ID
CAR_TYPEVARCHAR(255)FALSE자동차 종류
DAILY_FEEINTEGERFALSE일일 대여 요금(원)
OPTIONSVARCHAR(255)FALSE자동차 옵션 리스트

자동차 종류는 ‘세단’, ‘SUV’, ‘승합차’, ‘트럭’, ‘리무진’ 이 있습니다. 자동차 옵션 리스트는 콤마(‘,’)로 구분된 키워드 리스트(예: ‘열선시트, 스마트키, 주차감지센서’)로 되어있으며, 키워드 종류는 ‘주차감지센서’, ‘스마트키’, ‘네비게이션’, ‘통풍시트’, ‘열선시트’, ‘후방카메라’, ‘가죽시트’ 가 있습니다.


CAR_RENTAL_COMPANY_DISCOUNT_PLAN 테이블

Column nameTypeNullableDescription
PLAN_IDINTEGERFALSE요금 할인 정책 ID
CAR_TYPEVARCHAR(255)FALSE자동차 종류
DURATION_TYPEVARCHAR(255)FALSE대여 기간 종류
DISCOUNT_RATEINTEGERFALSE할인율(%)


CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블

Column nameTypeNullableDescription
HISTORY_IDINTEGERFALSE자동차 대여 기록 ID
CAR_IDINTEGERFALSE자동차 ID
START_DATEDATEFALSE대여 시작일
END_DATEDATEFALSE대여 종료일

할인율이 적용되는 대여 기간 종류로는 ‘7일 이상’ (대여 기간이 7일 이상 30일 미만인 경우), ‘30일 이상’ (대여 기간이 30일 이상 90일 미만인 경우), ‘90일 이상’ (대여 기간이 90일 이상인 경우) 이 있습니다. 대여 기간이 7일 미만인 경우 할인정책이 없습니다.




문제

CAR_RENTAL_COMPANY_CAR 테이블과 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블과 CAR_RENTAL_COMPANY_DISCOUNT_PLAN 테이블에서 자동차 종류가 ‘트럭’인 자동차의 대여 기록에 대해서 대여 기록 별로 대여 금액(컬럼명: FEE)을 구하여 대여 기록 ID와 대여 금액 리스트를 출력하는 SQL문을 작성해주세요. 결과는 대여 금액을 기준으로 내림차순 정렬하고, 대여 금액이 같은 경우 대여 기록 ID를 기준으로 내림차순 정렬해주세요. (FEE의 경우 정수부분만 출력되어야 합니다.)




풀이 과정
  1. 조건 확인
    • OPTIONS에 ‘네비게이션’ 이 포함된 CAR_ID 조회하기
  2. LIKE 활용

  3. 결과 정렬
    • 정렬 기준에 따라 ORDER BY로 결과 정렬
      • CAR_ID 기준으로 내림차순 정렬
  • 교훈
    • Easy..




정답

1
2
3
4
select car_id, car_type, daily_fee, options
from car_rental_company_car
where options like '%네비게이션%'
order by car_id desc;


Tip

대여 기간 별로 일일 대여 요금에 알맞은 할인율을 곱하여 금액 구하기!




개념 확인

  • LIKE 연산자
    • 문자열의 특정 패턴이 일치하는 데이터를 찾을 때 LIKE 연산자 사용
    • %는 0개 이상의 문자를 대체하는 와일드카드




자동차 대여 기록 별 대여 금액 구하기

This post is licensed under Park Juyoung by the author.

Trending Tags