SQL入门之第二二讲——CASE 函数的介绍

当需要分类的数据大于2种及以上的时候,可以使用IF函数嵌套,也可因使用CASE函数,语句可读性更加好,当然使用IF函数嵌套,语句更加简洁。

CASE函数基本语法:

SELECT
CASE
WHEN <条件表达式> THEN <>
WHEN <条件表达式> THEN <>
WHEN <条件表达式> THEN <>
WHEN <条件表达式> THEN <>
.....
ELSE <>    ---可选子句
END    --结束语句
FROM <表名>

1、CASE函数

实例1:在学生表中,将学生编号小于等于3的学生,分为1班,学生编号在4-6的学生,分为2班,学生编号大于等于7的学生,分为3班,最后显示Sid,Sname,所在班级这三列。

第一种使用IF函数嵌套:

select 
Sid as '学生编号',
Sname as '学生姓名',
IF(
	Sid <= 3,'1班',
	IF(Sid >= 7,'3班','2班')
	) as '所在班级'
from students
order by Sid

第二种使用CASE函数:

  • CASE函数在结束时一定要是用 END 结束
  • WHEN 语句之间不需要使用逗号进行隔开
select 
	Sid as '学生编号',
	Sname as '学生姓名',
	CASE
		WHEN Sid <= 3 THEN '1班'
		WHEN Sid BETWEEN 3 AND 6 THEN '2班'
		WHEN Sid >= 7 THEN '3班'
	END AS '所在班级'
from students
order by Sid

2、ELSE可选子句

在上面的实例中如果加上ELSE子句,可以这样实现。

select 
	Sid as '学生编号',
	Sname as '学生姓名',
	CASE
		WHEN Sid <= 3 THEN '1班'
		WHEN Sid >= 7 THEN '3班'
		ELSE '2班'
	END AS '所在班级'
from students
order by Sid

这个实现效果跟上面的结果都是一样的,因为不满足Sid <= 3,Sid >= 7,那肯定是属于ELSE语句中的范围,那么可以直接用ELSE来代替。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值