[mySql] CASE 사용하기

ouneno·2023년 3월 3일
0

SQL

목록 보기
1/2
post-thumbnail

CASE 문

SQL에서 조건문(Switch문, IF문) 을 사용할 일이 있을 때 사용한다.


1. CASE문 사용 방법

  • 'WHEN' - 'THEN'은 같이 사용 된다.
  • 'WHEN' - 'THEN'은 다중 사용이 가능하다.
  • 'WHEN' - 'THEN'의 조건에 충족하지 않을 경우 'ELSE'의 결과값으로 출력된다.
CASE
	WHEN 조건1 THEN 조건1에 대한 결과1
    WHEN 조건2 THEN 조건2에 대한 결과2
    WHEN 조건3 THEN 조건3에 대한 결과3
    ELSE 그 외 결과값
END

2. CASE문 사용 예시

product_idproduct_codeprice
1C200000072000
2C100000051000
3D100000063000
4D300000082000
5B300000042000

예시1.🔻 CASE문을 사용하여 10000단위의 가격대별로 분류해보자

💻 SQL 코드

...(생략)
	CASE 
    	WHEN 40000<=price AND price<50000 THEN '40000'
        WHEN 50000<=price AND price<60000 THEN '50000'
        WHEN 60000<=price AND price<70000 THEN '60000'
        WHEN 70000<=price AND price<80000 THEN '70000'
        WHEN 80000<=price AND price<90000 THEN '80000'
        ELSE '기타
    END
...(생략)

🔻 해석

💻 SQL 코드

...(생략)
	CASE
    	WHEN 40000<=price AND price<50000 THEN 'No4'
        -- price컬럼이 40000이상 50000미만 일 경우 'No4'으로 출력한다.
        WHEN 50000<=price AND price<60000 THEN 'No5'
        -- price컬럼이 5000이상 60000미만 일 경우 'No5'으로 출력한다.
        ELSE '기타'     
        -- 나머지 조건에 True(참)이 아닐경우 '기타'로 출력한다.
    END
   ...(생략)

예시2.🔻 CASE문을 사용하여 product_code의 알파벳 단위로 분류해보자.

💻 SQL 코드

...(생략)
    CASE 
        WHEN product_code LIKE 'A%' THEN 'A로 시작'
        WHEN product_code LIKE 'B%' THEN 'B로 시작'
        WHEN product_code LIKE 'C%' THEN 'C로 시작'
        WHEN producT_code LIKE 'D%' THEN 'D로 시작'
        ELSE '기타'
    END
    AS 시작하는_알파벳
...(생략)

🔻 해석

💻 SQL 코드

...(생략)
SELECT product_code,
 	CASE 
        WHEN product_code LIKE 'A%' THEN 'A로 시작'
        -- product_code가 A로 시작할 경우 'A로 시작'으로 출력한다.
        WHEN product_code LIKE 'B%' THEN 'B로 시작'
        -- product_code가 B로 시작할 경우 'B로 시작'으로 출력한다.
        WHEN product_code LIKE 'C%' THEN 'C로 시작'
        -- product_code가 C로 시작할 경우 'C로 시작'으로 출력한다.
        WHEN producT_code LIKE 'D%' THEN 'D로 시작'
        -- product_code가 D로 시작할 경우 'D로 시작'으로 출력한다.
        ELSE '기타'
    END
    AS 시작하는_알파벳
    -- 테이블 명칭은 시작하는_알파벳
    FROM PRODUCT
    GROUP BY 시작하는_알파벳
    -- 시작하는_알파벳 기준에 따라 그룹화

💻 출력

profile
지속적인 성장을 추구하는 새싹 개발자입니다🌱

0개의 댓글