SQL/MySQL

MySQL 조건문 CASE WHEN, 조건 여러 개(AND, OR)

진리뷰 2023. 9. 6. 20:46
반응형

 

 

MySQL-조건문-CASE-WHEN-조건-여러-개-AND-OR-썸네일
CASE WHEN 조건문

 

 

이 글은 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-사용-방법
CASE WHEN

 

 

 

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 테이블명;

CASEWHEN_사용_방법_조건_여러_개_AND
CASE WHEN AND

 

 

OR

SELECT 컬럼명,...
, CASE
WHEN 조건 1 OR 조건 2
THEN 결괏값 1   -- 조건 1과 2 중 하나만 충족하면 결괏값 1이다.
ELSE                  -- 둘 다 미충족, 그 외 것들은 결괏값 2이다.
END AS 새컬럼명
FROM 테이블명;

CASEWHEN_사용_방법_조건_여러개_OR
CASE WHEN OR

 

 

 

CASE WHEN 예시

 

만약 "게임에서 10분 동안 몬스터 10마리 이상 잡으면 렙업 한다. 그 외에는 현 렙 유지한다."

  • 조건: 10분 and 몬스터 10마리 이상
  • 두 조건 충족 결과: 현_레벨+1
  • 두 조건 미충족: 현재 레벨 유지여서 '현_레벨' 컬럼을 입력했습니다.
  • 모든 결괏값을 보여줄 새로운 컬럼명은 '레벨업'으로 입력했습니다.

 

MySQL-CASE-WHEN-AND-예시
CASE WHEN AND 예시

반응형
top