case语法简单地说就是分支语法
case表达式分为搜索case表达式,和简单case表达式
由于搜索case表达式内容包含简单case表达式内容,因此着重介绍搜索case表达式。
01搜索case表达式
格式:case when 求值表达式 then 表达式
when 求值表达式 then 表达式
when 求值表达式 then 表达式
。
。
。
else 表达式
end
所谓求职表达式就是类似‘列=值’这样,返回值是true/faluse/unkown。我们也可以将其看为使用=、!=或者like between这样的谓词表达式。
如果满足求值表达式,就会返回then后面表达式。不满足就会接着执行,直到最后一个when还不满足,就会返回else。
这里的end不能省略
SELECT SUM(CASE WHEN product_type = '衣服'
THEN sale_price ELSE 0 END) AS sum_price_clothes,
SUM(CASE WHEN product_type = '厨房用具'
THEN sale_price ELSE 0 END) AS sum_price_kitchen,
SUM(CASE WHEN product_type='办公用品'
THEN sale_price ELSE 0 END) AS sum_price_office
FROM PRODUCT
case表达式可以用在任何地方