SQL - CASE 표현식 사용한 문제

효딩딩·2023년 10월 2일
0

CASE 표현식(2가지)

1. Searched case expression

  • CASE 키워드 뒤에 WHEN-THEN-ELSE 구조로 이루어 진다.

2. Simple case expression

  • 비교연산자가 '=' 인경우만 적용 가능하다.

예제

s_products의 재고액을 기준으로, 각 상품에 다음과 같이 재고등급을 부여하세요.
재고액은 상품의 구매단가(buyPrice)와 재고개수(quantityInStock)의 곱으로 계산합니다.
500,000불 이상 : A
400,000불 이상 : B
300,000불 이상 : C
300,000불 미만 : D
출력 컬럼은 상품의 productCode, name, buyPrice, quantityInStock, 재고액, 재고등급 순으로 합니다.
SQL문을 실행하면 다음과 같이 결과가 나와야 합니다.


SELECT productCode, name, buyPrice, quantityInStock, buyPrice * quantityInStock 재고액,
     CASE
        WHEN buyPrice * quantityInStock >= 500000 THEN 'A'
        ELSE 
           (
             CASE 
                 WHEN buyPrice * quantityInStock >= 400000 THEN 'B'
                 WHEN buyPrice * quantityInStock >= 300000 THEN 'C'
                 ELSE 'D'
             END
          )
       END AS '재고등급'
FROM s_products
  • 해당 예제의 경우 Searched case expression를 사용하였다.
profile
어제보다 나은 나의 코딩지식

0개의 댓글