본문 바로가기

Sql

[SQL문법] Case 조건문, when then else end

# CASE 조건문의 구조

CASE
    WHEN 조건문 THEN 반환값
    ELSE 위의 조건이 아닐때 반환값 
    END

위와 같은 구조를 보입니다.

 

아래의 ifelse 구문 (R 등에서 쓰이는) 과 비슷하네요.

ifelse (조건문, 참일 때 반환값, 거짓일 때 반환값)

 

 

# 중복 조건문

R 에서도 중복 조건을 걸어줄 수 있는 것처럼... (아래 코드)

ifelse (A > 60, ifelse (B <30, K, F), C)

풀이) A가 60 초과일때,  B 가 30미만이면 K, 30 이상이면 F 를 반환하고,
       A가 60 이하일때,  C 를 반환한다. 

 

 

위의 Case 조건문도 중복 조건을 걸 수 있습니다.

바로 이런식으로 말이죠 !

CASE
    WHEN 조건문1 THEN 반환값1
    WHEN 조건문2 THEN 반환값2
    ELSE 위의 조건이 아닐때 반환값3
    END

 

SQL 공부를 조금씩 하고 있는데 R의 dplyr 등의 문법들보다...

오히려 더 직관적이라 익숙해지면 더 다루기가 쉬울 것 같은 느낌적인 느낌이네요.

'Sql' 카테고리의 다른 글

[SQL문법] Join:: WHERE 과 ON 의 차이  (0) 2019.11.04
R 에서 SQL 사용하기  (0) 2019.10.11
PostgreSQL 와 R 연동하기  (0) 2019.02.05