首页 > 数据库 >MYSQL学习笔记17: 流程控制函数(IF, CASE)

MYSQL学习笔记17: 流程控制函数(IF, CASE)

时间:2024-03-09 09:34:40浏览次数:41  
标签:CASE comment ok 17 when else score MYSQL select

流程控制函数(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

相关文章

  • MYSQL学习笔记18: 约束
    约束约束是作用于表中字段上的规则,用于限制存储在表中的数据.保证表中的正确性,有效性和完整性约束作用于表中字段上,可以在建表和修改表时为表添加约束按照需求创建表,并创建约束createtableusers(idintprimarykeyauto_incrementcomment'主键',n......
  • MYSQL学习笔记15: 数值函数
    数值函数ceil向上取整(并不是四舍五入)selectceil(1.5);selectceil(2.1);floor向下取整selectfloor(3.9);selectfloor(2.0);mod取模(余数)selectmod(7,4);rand0-1的随机小数,不包括0和1selectrand();round四舍五入#参数2:保留的......
  • MYSQL学习笔记16: 日期函数
    日期函数返回当前日期selectcurdate();返回当前时间(24小时制)selectcurtime();返回当前日期+时间selectnow();YEAR,MONTH,DAY获取当前时间对应的年月日selectyear(now());selectmonth(now());selectday(now());在制定日期上增加时间后的日期......
  • MYSQL学习笔记9: DQL排序查询(升降序)
    DQL排序查询select字段列表from表名orderby字段1排序方式1,字段2排序方式2;排序方式ASC升序(默认)DESC降序如果是多字段排序,第一个字段值相同,会根据第二个字段的值进行排序,以此类推按年龄降序排序select*fromworkersorderbyagedesc;......
  • MYSQL学习笔记10: DQL分页查询(利用limit)
    DQL分页查询(利用limit)select字段列表from表名limit起始索引,查询记录数;起始索引从0开始,起始索引=(查询页码-1)*每页显示记录数分页查询是数据库的方言,不同数据库有不同的实现,MYSQL中是LIMIT如果查询的是第一页的数据,起始索引可以省略,直接简写为l......
  • MYSQL练习1: DQL查询练习
    MYSQL练习1DQL查询练习查询年龄为20,21,22,23岁的员工信息select*fromworkerswhereagein(20,21,22,23);查询性别为男,年龄在20-40岁间,姓名长度为3的员工select*fromworkers    where    gender='男'    and    agebetwe......
  • MYSQL学习笔记12: DCL数据控制语言(用户操作)
    DCL数据控制语言查询用户#用户信息保存在数据库mysql的user表中usemysql;select*fromuser;创建用户createuser'用户名'@'主机名'identifiedby'密码';在主机localhost创建一个新用户createuser'hikari39'@'localhost'identifiedby'123456......
  • MYSQL学习笔记13: DCL权限控制(用户权限操作)
    DCL权限控制查询权限showgrantsfor'用户名'@'主机名';查询某个用户的权限showgrantsfor'hikaru39'@'localhost';授予权限grant权限列表on数据库名.表名to'用户名'@'主机名';授予某个用户权限#all,给予数据库itcast中所有表的权限grantallonitcast......
  • MYSQL学习笔记14: 函数
    函数字符串函数字符串拼接--concatselectconcat('hello','MYSQL');大小写转换--lowerselectlower('HELLO');--upperselectupper('hello');左右填充--lpadselectlpad('1',8,'0');--rpadselectrp......
  • 代码随想录算法训练营day17 | leetcode 110. 平衡二叉树、257. 二叉树的所有路径、404
    目录题目链接:110.平衡二叉树-简单题目链接:257.二叉树的所有路径-简单题目链接:404.左叶子之和-简单题目链接:110.平衡二叉树-简单题目描述:给定一个二叉树,判断它是否是平衡二叉树示例1:输入:root=[3,9,20,null,null,15,7]输出:true示例2:输入:root=[1,2,2,3,3,null,nul......