새소식

SQL

[MySQL] 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기

  • -

[문제]

코딩테스트 연습 - 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 | 프로그래머스 스쿨 (programmers.co.kr)

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

[문제 풀이]

with절을 사용해서 문제를 풀었다.

with절을 사용해서 조건에 해당되는 car_id가 넣어져있는 테이블을 생성하고 해당 테이블 안에 car_id가 있다면 '대여중' 아니라면 '대여 가능'을 출력하였다.

[회고]

with절은 처음 사용해봤는데 생각보다 어렵진 않았다. 앞으로도 많이 사용하도록 하자.

[코드]

WITH TBL AS (SELECT
                 distinct CAR_ID
             FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
             WHERE start_date <= DATE_FORMAT("2022-10-16", '%Y-%m-%d') and
                        DATE_FORMAT("2022-10-16", '%Y-%m-%d') <= end_date
            )
             
select
    DISTINCT CAR_ID,
    (CASE WHEN CAR_ID IN (SELECT CAR_ID FROM TBL)
     THEN '대여중'
     ELSE '대여 가능'
     END) as AVAILABILITY
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
ORDER BY CAR_ID DESC

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.