本文介绍了SQL中的流程控制函数如IF、IFNULL以及CASE WHEN THEN ELSE END的使用方法,通过示例展示了如何在查询中进行条件判断。案例包括根据地址判断城市等级和根据成绩评估学生等级。同时还提供了创建与操作研究生成绩表的SQL语句。
摘要由CSDN通过智能技术生成
流程函数
#if
select if(FALSE,'ok','error');
#ifnull
select ifnull('ok','default');
select ifnull('','default');
select ifnull(null,'default');
#case when then else end
#案例1:查询emp表中员工姓名和工作地址(北京/上海——>一线城市,其他——>二线城市)
select
name,
(case workaddress when '北京' then '一线城市' when '上海' then'一线城市' else '二线城市'end)as '工作地址'
from emp;
#案例2:统计班级各个学员的成绩,展示的规则如下:
-- 统计班级各个学员的成绩,展示规则如下:
-- >=90,展示优秀
-- >=60,展示及格
-- 否则,展示不及格
##建表
create table score(
id int comment 'ID',
name varchar(20) comment '姓名',
math int comment '数学',
english int comment '英语',
chinese int comment '语文'
)comment '研究生成绩表';
##插入数据
insert into score(id,name,math,english,chinese)
values(1, '陆先生', 69, 89, 100 ),(2, '靳璐璐', 55,65,95), (3, '曾lon', 58, 98, 88);
drop table score;
##演示
select
id,
name,
(case when math >=90 then '优秀' when math >=60 then '及格' else '不及格' end)'数学等级',
(case when english>=90 then '优秀' when english>=60 then '及格' else '不及格' end)'英语等级',
(case when chinese>=90 then '优秀' when chinese>=60 then '及格' else '不及格' end)'语文等级'
from score;