[프로그래머스 Lv3.] 157340번 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 (ORACLE)

2024. 2. 6. 08:31·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년 10월 16일에 대여 중인 자동차인 경우 '대여중' 이라고 표시하고, 대여 중이지 않은 자동차인 경우 '대여 가능'을 표시하는 컬럼(컬럼명: AVAILABILITY)을 추가하여 자동차 ID와 AVAILABILITY 리스트를 출력하는 SQL문을 작성해주세요. 이때 반납 날짜가 2022년 10월 16일인 경우에도 '대여중'으로 표시해주시고 결과는 자동차 ID를 기준으로 내림차순 정렬해주세요.


예시

예를 들어 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-16
5 3 2022-10-13 2022-10-15
6 2 2022-10-15 2022-10-17

 

2022년 10월 16일에 대여 중인 자동차는 자동차 ID가 1, 2인 자동차이고, 대여 가능한 자동차는 자동차 ID가 3, 4이므로, '대여중' 또는 '대여 가능' 을 표시하는 컬럼을 추가하고, 자동차 ID를 기준으로 내림차순 정렬하면 다음과 같이 나와야 합니다.

CAR_ID AVAILABILITY
4 대여 가능
3 대여 가능
2 대여중
1 대여중

-- 코드를 입력하세요
SELECT 
    CAR_ID, 
    MAX(CASE
            WHEN '20221016' BETWEEN TO_CHAR(START_DATE, 'YYYYMMDD') AND TO_CHAR(END_DATE, 'YYYYMMDD') THEN '대여중'
            ELSE '대여 가능' END) AS AVAILABILITY
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
GROUP BY CAR_ID
ORDER BY CAR_ID DESC;
저작자표시 비영리 변경금지 (새창열림)

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

[프로그래머스 Lv2.] 151137번 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기 (ORACLE)  (0) 2024.02.06
[프로그래머스 Lv2.] 132202번 진료과별 총 예약 횟수 출력하기 (ORACLE)  (0) 2024.02.06
[프로그래머스 Lv3.] 144855번 카테고리 별 도서 판매량 집계하기 (ORACLE)  (0) 2024.02.06
[프로그래머스 Lv4.] 144856번 저자 별 카테고리 별 매출액 집계하기 (ORACLE)  (0) 2024.02.06
[프로그래머스 Lv3.] 164668번 조건에 맞는 사용자와 총 거래금액 조회하기 (ORACLE)  (0) 2024.02.06
'Coding Test/SQL 고득점 Kit[ORACLE]' 카테고리의 다른 글
  • [프로그래머스 Lv2.] 151137번 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기 (ORACLE)
  • [프로그래머스 Lv2.] 132202번 진료과별 총 예약 횟수 출력하기 (ORACLE)
  • [프로그래머스 Lv3.] 144855번 카테고리 별 도서 판매량 집계하기 (ORACLE)
  • [프로그래머스 Lv4.] 144856번 저자 별 카테고리 별 매출액 집계하기 (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)
  • 블로그 메뉴

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

  • 태그

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

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

티스토리툴바