언빌리버블티

[MySQL] SQL 조건문 (IF, CASE WHEN ~ THEN) 본문

Language/MySQL

[MySQL] SQL 조건문 (IF, CASE WHEN ~ THEN)

나는 정은 2022. 10. 14. 17:18

멋쟁이 사자처럼 AI스쿨

데이터리안 Special Lecture : SQL 중급반

 

[백문이불여일타] 데이터 분석을 위한 중급 SQL - 인프런 | 강의

인프런 누적 수강생 10,000명 이상, 풍부한 온/오프라인 강의 경험을 가진 데이터리안의 SQL 중급 강의. SQL 중급 이론을 배우고, 실습 문제를 함께 풀어봅니다., - 강의 소개 | 인프런...

www.inflearn.com

 

IF : 조건문

조건에 따라 원하는 방향으로 데이터를 뽑아낸다.

IF(조건, "참일 때", "거짓일 때") 

ex_1 )

SELECT IF( n = 'A' , "A", "Not A" ) AS is_A 
FROM Table

 

CASE WHEN : 중첩 조건문

: 특정 조건을 만족하는 값을 지정하는 예약어

가장 많이 쓰이고 있으며, 조건에 따른 value를 지정해주는 역할을 한다.

CASE WHEN 조건절 THEN (조건 = TRUE) ELSE (조건 = FALSE) END (열이름)

다중 CASE WHEN

SELECT 열이름1 ,
     CASE 
         WHEN [조건1] THEN [결과값1]
         WHEN [조건2] THEN [결과값2]
         ...
         ELSE [결과값3]
    END (AS 새로운 열이름)
FROM 테이블명 
  • WHEN을 계속 늘려서 조건을 추가해줄 수 있다.
  • 조건1을 만족하면서 조건2도 만족하는 조건문을 추가하고 싶다면 조건 사이에 AND를 추가하면 된다
WHEN col1 = 1 AND col2 = 2 THEN "TRUE" 

ex _ 1 )

새로운 변수 "과목" 을 생성하여 전공이 1 이면 "수학"전공이 2이면 "영어" 나머지는 기타로 입력한다.

SELECT 
       CASE
            WHEN Major = 1 THEN "Math"
            WHEN Major = 2 THEN "English"
            ELSE "Other" 
       END AS "Subject"
       , * 
FROM Students

 

 

 

Comments