본문 바로가기

Language/SQL

Case 문을 통해 조건에 맞는 경우 추출하기

CASE문 활용한 서브쿼리 CASE
WHEN 조건 1
THEN ‘조건 1 만족 시 반환할 값’

WHEN 조건 2

THEN ‘조건 2 만족 시 반환할 값

ELSE ‘다 아닐 경우 반환할 값


END '결과값을 원하는 컬럼명으로 지정'

SQL공부하면서 멋스럽다고 생각했던 부분이 바로 이 서브쿼리였다.

내가 이해한 차이점: IF/ELSE는 조건 1개만 CASE/WHEN 조건 여러개 가능

 

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

 

프로그래머스

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

programmers.co.kr

조건1. 2022년 10월 16일에 대여중인 자동차는 '대여중' 아니면 '대여 가능' 지정

조건2. 대여 상태를 새로운 컬럼명으로 출력

조건3. 자동차 ID별로 출력

조건4. 자동자 ID 기준으로 내림차순 정렬

 

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

'Language > SQL' 카테고리의 다른 글

SQL Cheat Sheet  (0) 2023.07.09
배운게 나오긴 하는구나!  (0) 2023.04.14
Round  (0) 2023.03.30
안 쓰면 까먹는다.  (0) 2023.03.29
MySQL 에서는 ISNULL 대신 IFNULL  (0) 2023.03.24