반응형
이 글은 MySQL의 조건문 CASE WHEN 사용 방법, 조건 여러 개 거는 방법 설명과 예시를 담았습니다.
MySQL CASE WHEN 조건문
CASE WHEN은 조건을 설정하고 해당 조건을 충족, 미충족 한 것들의 결괏값을 보여줍니다.
마치 IF ELSE 같습니다.
MySQL CASE WHEN 사용 방법
CASE WHEN은 SELECT에 사용합니다.
SELECT 컬럼
, CASE # SELECT문에 사용
WHEN 조건 1 THEN 결괏값 1 # 조건 1을 충족하면 결괏값 1을 내놔.
WHEN 조건 2 THEN 결괏값 2 # 조건 1 충족 안된 것들을 대상, 조건 2 충족 시 결괏값 2를 내놔.
ELSE 결괏값 3 # 모든 조건을 미충족 했다면 결괏값 3을 내놔.
END AS 새컬럼명 # 결괏값들을 보여줄 CASE WHEN칼럼(별칭 AS 사용 가능)
FROM 테이블명;
CASE WHEN 조건 여러 개(AND, OR)
CASE WHEN은 AND와 OR을 이용해 조건을 여러 개 걸 수 있습니다.
AND
SELECT 컬럼,...
, CASE
WHEN 조건 1 AND 조건 2
THEN 결괏값 1 -- 조건 1과 2를 모두 충족해야 결괏값 1이다.
ELSE 결괏값 2 -- 조건 1과 2 중 하나만 충족, 둘 다 미충족, 그 외 것들은 결괏값 2이다.
END AS 새컬럼명
FROM 테이블명;
OR
SELECT 컬럼명,...
, CASE
WHEN 조건 1 OR 조건 2
THEN 결괏값 1 -- 조건 1과 2 중 하나만 충족하면 결괏값 1이다.
ELSE -- 둘 다 미충족, 그 외 것들은 결괏값 2이다.
END AS 새컬럼명
FROM 테이블명;
CASE WHEN 예시
만약 "게임에서 10분 동안 몬스터 10마리 이상 잡으면 렙업 한다. 그 외에는 현 렙 유지한다."
- 조건: 10분 and 몬스터 10마리 이상
- 두 조건 충족 결과: 현_레벨+1
- 두 조건 미충족: 현재 레벨 유지여서 '현_레벨' 컬럼을 입력했습니다.
- 모든 결괏값을 보여줄 새로운 컬럼명은 '레벨업'으로 입력했습니다.
반응형
'SQL > MySQL' 카테고리의 다른 글
MySQL 집계 함수, GROUP BY와 HAVING 사용 방법 (0) | 2023.09.11 |
---|---|
MySQL COUNT 함수 특정 값 개수 세기 (0) | 2023.09.08 |
MySQL 금액 타입(INT), 숫자 천단위 콤마 찍기 FORMAT 함수 예시 (0) | 2023.09.04 |
MySQL NULL 값 치환(대체), COALESCE 함수 예시 (0) | 2023.09.01 |
MySQL 컬럼 추가 ADD 위치 지정, 여러 개 추가하는 쉬운 방법 예시 (0) | 2023.08.31 |