
SELECT CASE
WHEN categoryid = 1 THEN '음료'
WHEN categoryid = 2 THEN '조미료'
ELSE '기타'
END AS new_category, categoryid
FROM Products

SELECT CASE
WHEN categoryid = 1 THEN '음료'
WHEN categoryid = 2 THEN '조미료'
ELSE '기타'
END AS new_category, AVG(price)
FROM Products
GROUP BY new_category

피보팅은 테이블의 데이터를 row 형태로 보여줄 때 주로 사용하곤 한다. 아래 쿼리를 기반으로 한 테이블을 살펴보자.
SELECT AVG(CASE WHEN categoryid = 1 THEN price ELSE NULL END) AS category1_avg_price
,AVG(CASE WHEN categoryid = 2 THEN price ELSE NULL END) AS category2_avg_price
,AVG(CASE WHEN categoryid = 3 THEN price ELSE NULL END) AS category3_avg_price
FROM Products

case end 문은 원본 Products 테이블에서 조건에 따른 데이터를 추출하여 row로 보여준다는 것을 알 수 있다.