流程控制函数(IF, CASE)
if
select if(true,'ok','error');
select if(false,'ok','error');
/*相当于
if true:
ok;
else:
error;
*/
ifnull
select ifnull('ok','default');
select ifnull('','default'); #空字符串不为null
select ifnull(null,'default');
/*相当于
if 'ok' is not null:
ok;
else:
default ;
*/
case when
新建学生成绩表, 并插入数据
#创建学生成绩表
create table score(
id int comment 'ID',
name varchar(20) comment '姓名',
math int comment '数学',
english int comment '英语',
chinese int comment '语文'
) comment '学员成绩表';
#插入数据
insert into score values (1,'tom',67,88,95), (2,'rose',23,66,90), (3,'jack',56,98,76);
统计成绩,展示规则如下
-
score>=85 优秀
-
score>=60 合格
-
score<60不合格
select id, name,
(case when math>=85 then '优秀' when math>=60 then '合格' else '不合格' end) as '数学',
(case when english>=85 then '优秀' when english>=60 then '合格' else '不合格' end) as '英语',
(case when chinese>=85 then '优秀' when chinese>=60 then '合格' else '不合格' end) as '语文'
from score;
标签:CASE,comment,ok,17,when,else,score,MYSQL,select
From: https://www.cnblogs.com/HIK4RU44/p/18062034