본문 바로가기
문제 풀이/프로그래머스

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

by hyeminigo 2024. 9. 6.


 

자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기  (LEVEL3)

 

 

자동차 ID와 AVAILABILITY 리스트를 출력하는 SQL문을 작성

2022년 10월 16일에 대여 중인 자동차인 경우 '대여중' 이라고 표시하고, 대여 중이지 않은 자동차인 경우 '대여 가능'을 표시하는 컬럼(컬럼명: AVAILABILITY)을 추가

반납 날짜가 2022년 10월 16일인 경우에도 '대여중'으로 표시

자동차 ID 내림차순 정렬

 


 

정답 코드

SELECT CAR_ID, CASE WHEN CAR_ID IN (SELECT CAR_ID 
                                    FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY 
                                    WHERE START_DATE <= '2022-10-16' 
                                    AND END_DATE >= '2022-10-16')
                THEN '대여중'
                ELSE '대여 가능' END 
                AS AVAILABILITY
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
GROUP BY CAR_ID
ORDER BY CAR_ID DESC

 

MEMO

- MYSQL 에서 if-then-else 역할을 하는 문법이다.

CASE 
   WHEN 조건1 THEN 값1
   WHEN 조건2 THEN 값2
   ELSE 값3
END

 

 

W3Schools.com

W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.

www.w3schools.com