SQL CASE表达式(CASE···WHEN)

SQL中,CASE...WHEN表达式用于在查询结果中根据条件返回不同的值。它的语法通常如下:

复制代码
sql 复制代码
CASE
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    ...
    ELSE default_result
END

下面是一个简单的例子,演示了如何使用CASE...WHEN表达式:

复制代码
sql 复制代码
SELECT 
    student_name,
    CASE
        WHEN score >= 90 THEN 'A'
        WHEN score >= 80 THEN 'B'
        WHEN score >= 70 THEN 'C'
        WHEN score >= 60 THEN 'D'
        ELSE 'F'
    END AS grade
FROM 
    student_scores;

在这个例子中,根据学生的分数来判断其等级(A、B、C、D、F),并将结果作为新的列返回。如果学生的分数大于等于90,那么他们的等级是'A',如果分数在80到90之间,等级是'B',以此类推。最后一个ELSE子句指定了默认的等级为'F'。

CASE...WHEN表达式可以嵌套使用,也可以在SELECTWHEREORDER BY等语句中使用,用于根据不同的条件生成不同的结果。这使得它成为SQL中非常灵活和强大的工具之一。

相关推荐
Tisfy1 小时前
LeetCode 1927.求和游戏:抵消+看最值
java·leetcode·游戏·题解·博弈论
Elastic 中国社区官方博客5 小时前
搜索倍增器:推动收入、生产力和 AI 实现规模化
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
保定公民7 小时前
达梦数据库存储过程中的数组类型详解:基础数组与记录数组的差异化应用
数据库·达梦·存储过程·达梦数据库·dm8·dm
秋饼7 小时前
JDK 27 企业级 AI 服务落地实战:G1 默认、紧凑对象头、后量子 TLS 与 JFR 脱敏全解析
java·ai·技术分享·后端开发
梦Arrebol7 小时前
Redis 内容及相关实验
数据库·redis
卓怡学长8 小时前
w176基于SpringBoot的医院管理系统
java·spring boot·spring·maven·intellij-idea
lemon_sjdk8 小时前
ObjectProperty
java·开发语言·算法
大模型码小白8 小时前
Spring AI Tool 实现自然语言操作 MySQL 数据库详解
服务器·开发语言·数据库·人工智能·python·mysql·spring
hh9508 小时前
Agent Plan x DeepSeek Harness:Agent 供应链安全与第三方插件审计
java·开发语言·安全·agent plan·adg成都社区·adg社区
吴声子夜歌8 小时前
Java面试——HBase原理及应用
java·面试·hbase