case when [ val1 ] then [res1] ...else [ default ] end
如果val1为true,返回res1,... 否则返回default默认值
case [ expr ] when [ val1 ] then [res1] ... else [ default ] end
如果expr的值等于val1,返回res1,... 否则返回default默认值
4.2 代码演示
-- ---------------------------------------------流程函数
# if(条件为真返回OK,否则error)
select if(true, 'ok', 'error');
select if(false, 'ok', 'error');
# ifnull(判断条件是否为空)
select ifnull('ok', 'default');
select ifnull('', 'default');
select ifnull(NULL, 'default');
# case when then else end
-- 需求:查询emp表的员工姓名和工作地址
select
name,
(case workaddress when '蜀国' then '帝为备也!' when '吴国' then '帝为权也!'else '帝为操也!'end) as '工作地址'
from emp;