平台网站怎么建设,专门做金融的招聘网站,网站不备案可以登录吗,制作网站公司首 荐乐云seo专家CASE WHEN解释
#xff1a; SQL中的CASE WHEN语句是一种条件表达式#xff0c;它允许你根据不同的情况返回不同的值。CASE WHEN通常用于SELECT语句中#xff0c;用于创建新的列#xff0c;该列的值取决于其他列的值。CASE WHEN可以用于任何可以使用表达式的地方。
大致概…CASE WHEN解释 SQL中的CASE WHEN语句是一种条件表达式它允许你根据不同的情况返回不同的值。CASE WHEN通常用于SELECT语句中用于创建新的列该列的值取决于其他列的值。CASE WHEN可以用于任何可以使用表达式的地方。
大致概述
case when 条件1 then 结果1 else 结果2 end如何满足条件1 就选取结果1做结果否则结果2,结束
case
when 条件1 then 结果1
when 条件2 then 结果2
when 条件3 then 结果3 else 结果4 end判断是否满足条件1满足选取 结果1 否则继续判断是否满足条件2满足选取 结果2 否则继续判断是否满足条件3满足选取 结果3否则选用结果4 结果4 相当与 一个默认值如果不满足条件1、2、3就用默认值
CASE WHEN有两种主要形式
简单Case表达式搜索Case表达式
简单Case表达式
SELECT column_name,CASE input_columnWHEN value1 THEN result1WHEN value2 THEN result2...ELSE default_resultEND AS alias_name
FROM table_name;搜索Case表达式
SELECT column_name,CASEWHEN condition1 THEN result1WHEN condition2 THEN result2...ELSE default_resultEND AS alias_name
FROM table_name;示例1
假设有一个学生成绩表student_scores包含字段name和score我们想根据分数给学生划分等级
分数大于等于90为A级分数大于等于80为B级分数大于等于70为C级分数大于等于60为D级其他为E级 使用CASE WHEN的SQL语句如下
SELECT name,score,CASEWHEN score 90 THEN A级WHEN score 80 THEN B级WHEN score 70 THEN C级WHEN score 60 THEN D级ELSE E级END AS grade
FROM student_scores;这个查询会返回每个学生的名字、分数和对应的等级。如果score字段的值满足某个WHEN子句中的条件CASE表达式就会返回那个THEN子句中的值。如果都不满足则返回ELSE子句中的值。如果省略了ELSE子句并且没有任何WHEN子句为真结果将为NULL。
示例2
这里有两个表一个学生表student一个学生成绩表score student score 我们根据每一位学生成绩的总分的来判断是优、良、差并按照总成绩排序
select a.Student_ID,a.name,b.sumgrade as 总成绩,CASE WHEN b.sumgrade 160 THEN 优WHEN b.sumgrade 160 and b.sumgrade 140 THEN 良WHEN b.sumgrade 140 and b.sumgrade 120 THEN 及格ELSE 差 END as 评级
from student a
left join (select Student_ID,sum(grade) sumgrade from score GROUP BY Student_ID) b on a.Student_ID b.Student_ID
ORDER BY b.sumgrade DESC结果 题主学习记录大家多多包涵。