在MySQL中条件判断语句常用于数据转换,基于现有数据创建新的数据列,使用场景还是比较多。
基础样式:
CASE
WHEN`条件`THEN`结果`
ELSE`默认结果`
END
在同一条判断语句中可以有一个到多个判断条件:
CASE
WHEN0`条件`THEN`结果0`
WHEN1……
WHEN2……
ELSE`结果1`
END
举例:
为每样产品增加`售价级别`字段,列出产品号码,产品名称,产品单价,售价级别。
售价级别由平均产品售价计算得出:
`产品单价` 小于平均售价,级别为1,
`产品单价` 大于等于平均售价小于2倍平均售价,级别为2,
`产品单价` 大于等于2倍平均售价,级别为3。
SELECT
`产品号码`,
`产品名称`,
`产品单价`,
CASE
WHEN `产品单价`<(SELECT AVG(`产品单价`) FROM `产品信息`) THEN 1
WHEN `产品单价`>=2*(SELECT AVG(`产品单价`) FROM `产品信息`) THEN 2
ELSE 3
END AS `顾客级别`
FROM `产品信息`;