SQL : Case

Jiwon Kim
|2023. 7. 14. 17:43

 

CASE

 

CASE 절은 

IF절과 같은 역할을 한다. 

 

예시부터 들어보면, 

 

 

CASE 절의 구성은 다음과 같다. 

 

     CASE   WHEN   (조건)   THEN   (조건=T일 때 결과)

                  ELSE    (조건=F일 때 결과)

     END

 

-  항상  END  로 끝나야 함

 ELSE 는 optional임 (WHEN/THEN에서 조건이 다 커버 안되면 넣어야겠지)

 


 

 WHEN  뒤 조건절에 여러 조건을  AND / OR  을 같이 이용해서 구성해도 된다. 

 

예를 들어,

 

SELECT    player_name,

                   CASE 

                               WHEN       year = 'FR'    AND     position = 'WR'       THEN       'fr_wr'

                               ELSE          NULL

                  END    AS     (어쩌구저쩌구)

FROM       (테이블명)

 


 

# Using CASE with aggregate functions 

특정 조건을 만족하는 행만 세고 싶을 때

COUNT 를 이용하는데 COUNT 는 null 값을 무시하므로, 

CASE 절을 이용해서 조건에 따라 카운트가 되도록 만들 수 있다. 

 

 


++ 참고자료

데이터리안 강의

https://mode.com/sql-tutorial/sql-case/

 

 

'Study > SQL' 카테고리의 다른 글

SQL : JOIN - INNER JOIN  (0) 2023.07.19
SQL : CASE로 pivot하기  (0) 2023.07.19
SQL : Having  (0) 2023.07.14
SQL : Distinct  (0) 2023.07.10
SQL : Group by  (0) 2023.07.10