[MYSQL] 조건문 - IF문 (프로그래머스_자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기)
2023. 4. 23. 16:09ㆍ개발공부 기강잡자/SQL
https://school.programmers.co.kr/learn/courses/30/lessons/157340
코드
SELECT CAR_ID, IF(CAR_ID IN (SELECT CAR_ID
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE (start_date <= '2022-10-16' AND end_date >= '2022-10-16'))
, '대여중', '대여 가능') AS AVAILABILITY
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY H
GROUP BY CAR_ID
ORDER BY CAR_ID DESC
우선 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블을 CAR_ID로 GROUP BY 한 다음에,
서브쿼리를 사용하여 각 CAR_ID가 (대여기간이 2022-10-16에 속하는 CAR_ID를 SELECT) 한 결과에 속하는지 IF 문으로 확인했다.
IF문
SELECT IF(조건문, 참일 경우 반환값, 거짓일 경우 반환값)
👉 조건문에 따라 반환 값을 설정할 수 있다.
ELSE IF와 ELSE 도 사용가능
IF search_condition THEN statement_list
[ELSEIF search_condition THEN statement_list] ...
[ELSE statement_list]
END IF
참고 : https://dev.mysql.com/doc/refman/8.0/en/if.html
CASE WHEN
SELECT CASE WHEN 조건문 THEN 반환값
WHEN 조건문 THEN 반환값
ELSE 조건문에 해당되지 않는 경우 반환값
END
참고 : https://dev.mysql.com/doc/refman/8.0/en/case.html
'개발공부 기강잡자 > SQL' 카테고리의 다른 글
[MYSQL] 프로그래머스_자동차 대여 기록 별 대여 금액 구하기 (DATEDIFF/CASE WHEN/PIVOT) (0) | 2023.04.22 |
---|---|
[MYSQL] 문자열 추출 : SUBSTR, SUBSTRING (0) | 2023.04.21 |
[MySQL] Date Format 변환 (0) | 2023.04.10 |
[MySQL] 프로그래머스_서울에 위치한 식당 목록 출력하기 (0) | 2023.04.10 |