mysql中case when用法
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
mysql中case when用法
CASE WHEN 是 MySql 里的一个处理条件判断的分支函数,它的结构如下:
CASE
WHEN 条件1 THEN 返回值1
WHEN 条件2 THEN 返回值2
WHEN 条件3 THEN 返回值3
...
ELSE 其它值 END
它的作用是当条件表达式(例如when 后面的条件1、条件2)符合当前行时(即条件1、条件2等关联的字段值符合当前行),执行相应的返回值(返回值1、返回值2 等);所有条件表达式都不符合当前行时,执行最后的“其它值”。
CASE WHEN主要用于处理查询语句,可用于把多重判断条件合并为一个查询,减少查
询的行数,从而提高查询效率。
具体实例
以下实例在 orders 表中显示出 customerid 为 3 的所有订单的订单状态:
SELECT orderid,
CASE
WHEN status=1 THEN '未处理'
WHEN status=2 THEN '正在处理'
WHEN status=3 THEN '发货中'
ELSE '已发货'
END as orderstatus
FROM orders
WHERE customerid=3
结果:
orderid orderstatus
001 发货中
002 已发货
003 已发货
004 正在处理
以上的示例使用 CASE WHEN 语句来替代了 if - else 语句,查询语句更加简洁明了,且不会影响执行效率。
此外,CASE WHEN 语句还可以应用于聚合函数:
customerid level
3 银牌客户
4 普通客户
5 金牌客户
以上实例中使用聚合函数来查询客户等级,用 CASE WHEN 语句结合聚合函数可以简
化语句,增强查询效率。