Language/SQL
[SQL] CASE Statement (MySQL)
SooooooooS
2024. 2. 6. 22:59
728x90
※ 문제 풀이를 하면서 SQL 복습 정리 ※
📖 참고 및 공식문서
CASE문
https://dev.mysql.com/doc/refman/8.0/en/case.html
MySQL :: MySQL 8.0 Reference Manual :: 15.6.5.1 CASE Statement
CASE case_value WHEN when_value THEN statement_list [WHEN when_value THEN statement_list] ... [ELSE statement_list] END CASE Or: CASE WHEN search_condition THEN statement_list [WHEN search_condition THEN statement_list] ... [ELSE statement_list] END CASE T
dev.mysql.com
1️⃣ Switch 문으로 사용하기
CASE case_value
WHEN when_value THEN statement_list
[WHEN when_value THEN statement_list] ...
[ELSE statement_list]
END
- case_value와 when_value를 비교한다.
- 표현식이 동일할 경우 해당 절의 THEN 절을 실행한다.
- 아무것도 해당이 안될 경우 ELSE 절을 실행한다.
- ELSE 문은 생략이 가능하지만 when_value가 존재하지 않는 값에 접근할 경우 Case not found for CASE statement error가 발생한다.
2️⃣ IF 문으로 사용하기
CASE
WHEN search_condition THEN statement_list
[WHEN search_condition THEN statement_list] ...
[ELSE statement_list]
END
- search_condition : 조건식
- 조건식이 true가 되면, 해당 THEN 절을 실행한다.
- ELSE 문은 생략이 가능하지만 search_value가 존재하지 않는 값에 접근할 경우 Case not found for CASE statement error가 발생한다.
728x90