[프로그래머스 Lv1.] 151138번 자동차 대여 기록에서 장기/단기 대여 구분하기 (ORACLE)

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

문제 설명

다음은 어느 자동차 대여 회사의 자동차 대여 기록 정보를 담은 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블입니다. 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_RENTAL_HISTORY 테이블에서 대여 시작일이 2022년 9월에 속하는 대여 기록에 대해서 대여 기간이 30일 이상이면 '장기 대여' 그렇지 않으면 '단기 대여' 로 표시하는 컬럼(컬럼명: RENT_TYPE)을 추가하여 대여기록을 출력하는 SQL문을 작성해주세요. 결과는 대여 기록 ID를 기준으로 내림차순 정렬해주세요.


예시

예를 들어 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블이 다음과 같다면

HISTORY_ID CAR_ID  START_DATE END_DATE
1 4 2022-09-27 2022-11-27
2 3 2022-10-03 2022-11-04
3 2 2022-09-05 2022-09-05
4 1 2022-09-01 2022-09-30
5 3 2022-09-16 2022-10-15

 

2022년 9월의 대여 기록 중 '장기 대여' 에 해당하는 기록은 대여 기록 ID가 1, 4인 기록이고, '단기 대여' 에 해당하는 기록은 대여 기록 ID가 3, 5 인 기록이므로 대여 기록 ID를 기준으로 내림차순 정렬하면 다음과 같이 나와야 합니다.

HISTORY_ID CAR_ID START_DATE  END_DATE  RENT_TYPE
5 3 2022-09-16 2022-10-13 단기 대여
4 1 2022-09-01 2022-09-30 장기 대여
3 2 2022-09-05 2022-09-05 단기 대여
1 4 2022-09-27 2022-10-26 장기 대여

주의사항

START_DATE와 END_DATE의 경우 예시의 데이트 포맷과 동일해야 정답처리 됩니다.


-- 코드를 입력하세요
SELECT 
    HISTORY_ID
    , CAR_ID
    , TO_CHAR(START_DATE, 'YYYY-MM-DD') AS START_DATE
    , TO_CHAR(END_DATE, 'YYYY-MM-DD') AS END_DATE
    , CASE 
        WHEN END_DATE - START_DATE + 1 >= 30 THEN '장기 대여' 
        ELSE '단기 대여' END AS RENT_TYPE
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE TO_CHAR(START_DATE, 'YYYYMM') = '202209'
ORDER BY HISTORY_ID DESC;
저작자표시 비영리 변경금지 (새창열림)

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

[프로그래머스 Lv3.] 164671번 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 (ORACLE)  (0) 2024.02.07
[프로그래머스 Lv1.] 157343번 특정 옵션이 포함된 자동차 리스트 구하기 (ORACLE)  (0) 2024.02.07
[프로그래머스 Lv2.] 131530번 가격대 별 상품 개수 구하기 (ORACLE)  (0) 2024.02.07
[프로그래머스 Lv4.] 59413번 입양 시각 구하기(2) (ORACLE)  (1) 2024.02.07
[프로그래머스 Lv2.] 59412번 입양 시각 구하기(1) (ORACLE)  (1) 2024.02.06
'Coding Test/SQL 고득점 Kit[ORACLE]' 카테고리의 다른 글
  • [프로그래머스 Lv3.] 164671번 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 (ORACLE)
  • [프로그래머스 Lv1.] 157343번 특정 옵션이 포함된 자동차 리스트 구하기 (ORACLE)
  • [프로그래머스 Lv2.] 131530번 가격대 별 상품 개수 구하기 (ORACLE)
  • [프로그래머스 Lv4.] 59413번 입양 시각 구하기(2) (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 기출문제
    JPA
    리눅스
    스프링
    프로그래머스
    CS지식
    programmers
    DB
    데이터
    Spring Security
    스프링 부트 쇼핑몰 프로젝트 with JPA
    시큐리티
    Flutter
    spring
    리눅스마스터
    postgresql
    Java
    springboot
    Oracle
    스프링부트
    python
    backjoon
    자바
    데이터베이스
    Linux
    baekjoon
    백준
    CS
    리눅스마스터 1급
  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
woojin._.
[프로그래머스 Lv1.] 151138번 자동차 대여 기록에서 장기/단기 대여 구분하기 (ORACLE)
상단으로

티스토리툴바