[SQL] 프로그래머스 LV.3 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기

2025. 7. 27. 10:48·프로그래밍 언어/02. SQL

https://school.programmers.co.kr/learn/courses/30/lessons/157340

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

🔍 문제

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


🎯정답

SELECT CAR_ID,
  CASE 
    WHEN SUM(CASE WHEN '2022-10-16' BETWEEN START_DATE AND END_DATE THEN 1 ELSE 0 END) > 0 
      THEN '대여중'
    ELSE '대여 가능'
  END AS AVAILABILITY
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
GROUP BY CAR_ID
ORDER BY CAR_ID DESC;

❓풀이

  • GROUP BY를 통해서 CAR_ID 별 대여 기록 중에서 10월 16일에 대여기록이 있는지 찾아야 함
  • 2중 CASE문을 통해서 START_DATE와 END_DATE가 2022년 10월 16일에 포함되면 1을 반환, 포함되지 않으면 0을 반환
  • SUM을 통해서 특정 날짜에 포함되었을 경우 0을 넘기 때문에 대여중으로 반환
  • 0으로 나올 경우 대여 가능으로 반환

'프로그래밍 언어 > 02. SQL' 카테고리의 다른 글

[SQL] 프로그래머스 LV.3 헤비 유저가 소유한 장소  (0) 2025.08.10
[SQL] 프로그래머스 LV3. 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기  (2) 2025.08.05
[SQL] 프로그래머스 LV.3 없어진 기록 찾기  (2) 2025.07.27
[SQL] 12. 프로그래머스 LV.3 대장균의 크기에 따라 분류하기 1  (0) 2025.07.27
[SQL] 11. 프로그래머스 LV.3 조건에 맞는 사용자 정보 조회하기  (0) 2025.07.20
'프로그래밍 언어/02. SQL' 카테고리의 다른 글
  • [SQL] 프로그래머스 LV.3 헤비 유저가 소유한 장소
  • [SQL] 프로그래머스 LV3. 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기
  • [SQL] 프로그래머스 LV.3 없어진 기록 찾기
  • [SQL] 12. 프로그래머스 LV.3 대장균의 크기에 따라 분류하기 1
dalleeoppaa
dalleeoppaa
DA, GIS 공부 기록
  • dalleeoppaa
    달래오빠
    dalleeoppaa
  • 전체
    오늘
    어제
    • 분류 전체보기 (113)
      • GIS (22)
        • 01. GIS TIL (13)
        • 02. OpenSource Geo Data (6)
        • 03.사이드 프로젝트 (1)
      • 프로젝트 (6)
        • 01. 상권분석 지도 (3)
        • 02. olist 고객 RFM 분석 (3)
      • PointCloud (1)
      • 프로그래밍 언어 (58)
        • 01. Python (1)
        • 02. SQL (49)
        • 03. C++ (3)
        • 04. TIL (5)
      • 데이터분석 (23)
        • 01. Google Cloud Platform (1)
        • 02. GA4 & GTM (1)
        • 03. LookerStudio (4)
        • 04. Apach Spark (7)
        • 05. 데이터 시각화 (10)
      • 인턴 (2)
        • 01. NPL (2)
        • 02. TIL (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    데이터분석
    postgresql연습
    SQL
    태블로신병훈련소
    solvesql
    태블로부트캠프
    데이터분석가코테
    데이터분석가
    태블로연습
    GIS
    프로그래머스SQL
    프로그래머스lv3
    코딩테스트
    sql코테
    프로그래머스코테
    c++독학
    PostgreSQL
    데이터분석취준
    프로그래머스
    MySQL
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
dalleeoppaa
[SQL] 프로그래머스 LV.3 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기
상단으로

티스토리툴바