博客
关于我
mysql的 if else , case when then, IFNULL
阅读量:791 次
发布时间:2023-02-13

本文共 1774 字,大约阅读时间需要 5 分钟。

表结构和数据

CREATE TABLE `score`  (  `s_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  `c_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  `s_score` int(3) NULL DEFAULT NULL,  PRIMARY KEY (`s_id`, `c_id`) USING BTREE) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;INSERT INTO `score` VALUES ('01', '01', 80);INSERT INTO `score` VALUES ('01', '02', 90);INSERT INTO `score` VALUES ('01', '03', 99);INSERT INTO `score` VALUES ('02', '01', 70);INSERT INTO `score` VALUES ('02', '02', 60);INSERT INTO `score` VALUES ('02', '03', 80);INSERT INTO `score` VALUES ('03', '01', 80);INSERT INTO `score` VALUES ('03', '02', 80);INSERT INTO `score` VALUES ('03', '03', 80);INSERT INTO `score` VALUES ('04', '01', 50);INSERT INTO `score` VALUES ('04', '02', 30);INSERT INTO `score` VALUES ('04', '03', 20);INSERT INTO `score` VALUES ('05', '01', 76);INSERT INTO `score` VALUES ('05', '02', 87);INSERT INTO `score` VALUES ('06', '01', 31);INSERT INTO `score` VALUES ('06', '03', 34);INSERT INTO `score` VALUES ('07', '02', 89);INSERT INTO `score` VALUES ('07', '03', 98);INSERT INTO `score` VALUES ('1', '2', 300);INSERT INTO `score` VALUES ('1', '3', 300);INSERT INTO `score` VALUES ('1', '4', 300);INSERT INTO `score` VALUES ('1003', '4', null);INSERT INTO `score` VALUES ('1004', '3', null);

一、if else

SELECT	s_id,	s_score, --这个课可以不用查询出来下面的if else也能用IF	( s_score > 80, '优秀', '良好' ) AS 等级  -- 这个等级就是别名,也能起成s_scoreFROM	score

二、case when then

SELECT 	s_id,	s_score,--可以不用写,下面也能用		(CASE 					WHEN s_score>=100 THEN '优秀'					WHEN s_score>=80 THEN '良好'					WHEN s_score>=60 THEN '中等'					ELSE'良好'			END ) 等级-- 等级只是一个别名而已 FROM score

三、 IFNULL

在这里插入图片描述

SELECT	s_id,	IFNULL( s_score, '没有成绩' ) score FROM	score

在这里插入图片描述

转载地址:http://ipdfk.baihongyu.com/

你可能感兴趣的文章
Mysql学习总结(4)——MySql基础知识、存储引擎与常用数据类型
查看>>
Mysql学习总结(56)——MySQL用户管理和权限设置
查看>>
Mysql学习总结(58)——深入理解Mysql的四种隔离级别
查看>>
Mysql学习总结(59)——数据库分库分表策略总结
查看>>
Mysql学习总结(60)——并发量大、数据量大的互联网业务数据库设计规范总结
查看>>
Mysql学习总结(61)——MySQL优化之DBA级优化整理汇总
查看>>
Mysql学习总结(64)——Mysql配置文件my.cnf各项参数解读
查看>>
Mysql学习总结(65)——项目实战中常用SQL实践总结
查看>>
Mysql学习总结(66)——设置MYSQL数据库编码为UTF-8
查看>>
Mysql学习总结(68)——MYSQL统计每天、每周、每月、每年数据 SQL 总结
查看>>
Mysql学习总结(69)——Mysql EXPLAIN 命令使用总结
查看>>
Mysql学习总结(6)——MySql之ALTER命令用法详细解读
查看>>
Mysql学习总结(70)——MySQL 优化实施方案
查看>>
Mysql学习总结(71)——MySQL 重复记录查询与删除总结
查看>>
Mysql学习总结(73)——MySQL 查询A表存在B表不存在的数据SQL总结
查看>>
Mysql学习总结(77)——温故Mysql数据库开发核心原则与规范
查看>>
Mysql学习总结(78)——MySQL各版本差异整理
查看>>
Mysql学习总结(79)——MySQL常用函数总结
查看>>
Mysql学习总结(7)——MySql索引原理与使用大全
查看>>
Mysql学习总结(80)——统计数据库的总记录数和库中各个表的数据量
查看>>