个人笔记1:mysql case实现替换查询数据显示值
查询显示值
目标:替换里面的值
环境准备:mysql,navicat
步骤一、准备数据库表grade
创建表grade
方式一:
1.navicat里,新建查询myTest1,
2.以sql语句方式创建grade表,将以下代码粘贴如查询myTest1中运行
CREATE TABLE grade
(
gid int PRIMARY KEY UNIQUE NOT NULL COMMENT '分数编号',
gscore VARCHAR(20) COMMENT '分数'
)
小节:int 整型,PRIMARY KEY 主键 ,UNIQUE 唯一,COMMENT 注释
方式二:navicat里创建
数据库如(mysqltest1)下表单击鼠标右键,创建表,
插入对应字段(列名),点击保存,设置好表名为grade
步骤二、表grade创建成功
步骤三、插入数据到表grade
INSERT INTO grade(gid,gscore) VALUES(1,'A');
INSERT INTO grade(gid,gscore) VALUES(2,'B');
INSERT INTO grade(gid,gscore) VALUES(3,'C');
INSERT INTO grade(gid,gscore) VALUES(4,'D');
步骤四、数据插入成功
步骤五、查询grade表中所有数据,并将A,B,C,D对应替换为优秀,良好,及格,不及格。
表中有数据
case替换代码实现
SELECT g.gid,
(CASE g.gscore
WHEN 'A' THEN '优秀'
WHEN 'B' THEN '良好'
WHEN 'C' THEN '及格'
ELSE '不及格'
END) score
FROM grade g
代码注释:
-- g.gid grade表里分数编号,(CASE 字段名 WHEN 字段值 THEN 替换值 ELSE 0不写默认0 END) 替换字段用
SELECT g.gid,
(CASE g.gscore
WHEN 'A' THEN '优秀'
WHEN 'B' THEN '良好'
WHEN 'C' THEN '及格'
ELSE '不及格'
END) score -- 将字段(列名)进行替换
FROM grade g -- 查询用到的表grade并重命名为g
步骤六、替换结果