[프로그래머스 Lv3.] 157341번 대여 기록이 존재하는 자동차 리스트 구하기 (ORACLE)

2024. 2. 7. 08:40·Coding Test/SQL 고득점 Kit[ORACLE]

문제 설명

다음은 어느 자동차 대여 회사에서 대여 중인 자동차들의 정보를 담은 CAR_RENTAL_COMPANY_CAR 테이블과 자동차 대여 기록 정보를 담은 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블입니다. CAR_RENTAL_COMPANY_CAR 테이블은 아래와 같은 구조로 되어있으며, CAR_ID, CAR_TYPE, DAILY_FEE, OPTIONS 는 각각 자동차 ID, 자동차 종류, 일일 대여 요금(원), 자동차 옵션 리스트를 나타냅니다.

Column name Type  Nullable
CAR_ID INTEGER FALSE
CAR_TYPE VARCHAR(255) FALSE
DAILY_FEE INTEGER FALSE
OPTIONS VARCHAR(255) FALSE

 

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

CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블은 아래와 같은 구조로 되어있으며, HISTORY_ID, CAR_ID, START_DATE, END_DATE 는 각각 자동차 대여 기록 ID, 자동차 ID, 대여 시작일, 대여 종료일을 나타냅니다.

Column name Type  Nullable
HISTORY_ID INTEGER FALSE
CAR_ID INTEGER FALSE
START_DATE DATE FALSE
END_DATE DATE FALSE

문제

CAR_RENTAL_COMPANY_CAR 테이블과 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 자동차 종류가 '세단'인 자동차들 중 10월에 대여를 시작한 기록이 있는 자동차 ID 리스트를 출력하는 SQL문을 작성해주세요. 자동차 ID 리스트는 중복이 없어야 하며, 자동차 ID를 기준으로 내림차순 정렬해주세요.


예시

예를 들어 CAR_RENTAL_COMPANY_CAR 테이블이 다음과 같고 

CAR_ID  CAR_TYPE  DAILY_FEE  OPTIONS
1 세단 16000 가죽시트,열선시트,후방카메라
2 SUV 14000 스마트키,네비게이션,열선시트
3 세단 22000 주차감지센서,후방카메라,가죽시트
4 세단 12000 주차감지센서

 

CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블이 다음과 같다면 

HISTORY_ID CAR_ID START_DATE  END_DATE
1 4 2022-09-27 2022-09-27
2 3 2022-10-03 2022-10-04
3 2 2022-10-05 2022-10-05
4 1 2022-10-11 2022-10-14
5 3 2022-10-13 2022-10-15

 

10월에 대여를 시작한 기록이 있는 '세단' 종류의 자동차는 자동차 ID가 1, 3 인 자동차이고, 자동차 ID를 기준으로 내림차순 정렬하면 다음과 같이 나와야 합니다.

 

CAR_ID
3
1

-- 코드를 입력하세요
SELECT DISTINCT C.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 TO_CHAR(H.START_DATE, 'MM') = '10'
ORDER BY CAR_ID DESC;
저작자표시 비영리 변경금지 (새창열림)

'Coding Test > SQL 고득점 Kit[ORACLE]' 카테고리의 다른 글

[프로그래머스 Lv4.] 132204번 취소되지 않은 진료 예약 조회하기 (ORACLE)  (0) 2024.02.07
[프로그래머스 Lv2.] 157342번 자동차 평균 대여 기간 구하기 (ORACLE)  (0) 2024.02.07
[프로그래머스 Lv3.] 131113번 조건별로 분류하여 주문상태 출력하기 (ORACLE)  (1) 2024.02.07
[프로그래머스 Lv2.] 164672번 조건에 부합하는 중고거래 상태 조회하기 (ORACLE)  (0) 2024.02.07
[프로그래머스 Lv4.] 151141번 자동차 대여 기록 별 대여 금액 구하기 (ORACLE)  (0) 2024.02.07
'Coding Test/SQL 고득점 Kit[ORACLE]' 카테고리의 다른 글
  • [프로그래머스 Lv4.] 132204번 취소되지 않은 진료 예약 조회하기 (ORACLE)
  • [프로그래머스 Lv2.] 157342번 자동차 평균 대여 기간 구하기 (ORACLE)
  • [프로그래머스 Lv3.] 131113번 조건별로 분류하여 주문상태 출력하기 (ORACLE)
  • [프로그래머스 Lv2.] 164672번 조건에 부합하는 중고거래 상태 조회하기 (ORACLE)
woojin._.
woojin._.
여러가지 개발을 해보며 발생하는 이야기들에 대한 블로그입니다:)
  • woojin._.
    Jin's Dev Story
    woojin._.
  • 전체
    오늘
    어제
    • 분류 전체보기 (829)
      • Tools (25)
        • eGovFrame (3)
        • GeoServer (3)
        • QGIS (2)
        • LabelImg (2)
        • Git (6)
        • GitHub (1)
        • Eclipse (7)
        • Visual Studio (1)
      • Web & Android (121)
        • SpringBoot (37)
        • Three.js (2)
        • Spring Data JPA (9)
        • 스프링 부트 쇼핑몰 프로젝트 with JPA (25)
        • Thymeleaf (4)
        • Spring Security (15)
        • Flutter (29)
      • Programming Language (61)
        • JAVA (27)
        • JavaScript (14)
        • Dart (2)
        • Python (15)
        • PHP (3)
      • Database (43)
        • PostgreSQL (32)
        • MYSQL (7)
        • Oracle (3)
        • MSSQL (1)
      • SERVER (17)
        • TCP_IP (3)
        • 리눅스 (7)
        • AWS (7)
      • Coding Test (445)
        • 백준[JAVA] (108)
        • 프로그래머스[JAVA] (260)
        • 알고리즘 고득점 Kit[JAVA] (3)
        • SQL 고득점 Kit[ORACLE] (74)
      • CS 지식 (49)
        • [자료구조] (14)
        • [네트워크] (12)
        • [데이터베이스] (10)
        • [알고리즘] (9)
        • [운영체제] (4)
      • 기타 (6)
      • 자격증 & 공부 (62)
        • 정보처리기사 (2)
        • SQLD (6)
        • 네트워크관리사 2급 (5)
        • 리눅스마스터 1급 (44)
        • 리눅스마스터 2급 (1)
        • ISTQB (3)
        • 시스템보안 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 인기 글

  • 태그

    pcce 기출문제
    스프링부트
    프로그래머스
    리눅스
    programmers
    CS지식
    리눅스마스터
    데이터베이스
    spring
    스프링 부트 쇼핑몰 프로젝트 with JPA
    backjoon
    postgresql
    springboot
    백준
    python
    자바
    Flutter
    스프링
    시큐리티
    데이터
    Java
    Linux
    플러터
    DB
    Oracle
    리눅스마스터 1급
    Spring Security
    JPA
    CS
    baekjoon
  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
woojin._.
[프로그래머스 Lv3.] 157341번 대여 기록이 존재하는 자동차 리스트 구하기 (ORACLE)
상단으로

티스토리툴바