CASE ~ WHEN ~ THEN ~ ELSE ~ END 및 서브쿼리 이용하기
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
https://school.programmers.co.kr/learn/courses/30/lessons/157340
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;
ㄴ 서브쿼리 결과를 메인 쿼리에서 조건으로 활용: 서브쿼리는 차량의 대여 가능 여부 판단에 필요한 데이터를 검색하고, 메인 쿼리에서 이 결과를 활용하여 각 차량의 대여 가능 여부를 결정(서브쿼리는 메인 쿼리에 필요한 정보를 제공하는 방식으로 동작함)
'코딩테스트 > programming_SQL' 카테고리의 다른 글
[SQL] 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기_164671 (0) | 2023.10.31 |
---|---|
[SQL] 프로그래머스_헤비 유저가 소유한 장소_77487 (0) | 2023.10.29 |
[SQL] 프로그래머스_조건에 맞는 사용자 정보 조회하기_164670 (0) | 2023.10.29 |
[SQL] 프로그래머스_없어진 기록 찾기_144855 (0) | 2023.10.07 |
[SQL] 프로그래머스_대여 기록이 존재하는 자동차 리스트 구하기_157341 (0) | 2023.10.06 |