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中非常灵活和强大的工具之一。

相关推荐
甲枫叶9 小时前
【claude热点资讯】Claude Code 更新:手机遥控电脑开发,Remote Control 功能上线
java·人工智能·智能手机·产品经理·ai编程
额,不知道写啥。9 小时前
P5354 [Ynoi Easy Round 2017] 由乃的 OJ
java·开发语言·算法
TDengine (老段)9 小时前
TDengine IDMP 数据可视化——散点图
大数据·数据库·物联网·信息可视化·时序数据库·tdengine·涛思数据
Project_Observer9 小时前
工时日志在项目进度管理中扮演着怎样的角色?
数据库·深度学习·机器学习
让我上个超影吧9 小时前
消息队列——RabbitMQ(高级)
java·rabbitmq
倔强的石头_10 小时前
kingbase备份与恢复实战(一)—— 备份体系、RPO-RTO与选型(Windows+ksql)
数据库
得物技术10 小时前
Sentinel Java客户端限流原理解析|得物技术
java·后端·架构
PM老周10 小时前
2026年软硬件一体化项目管理软件怎么选?多款工具对比测评
java·安全·硬件工程·团队开发·个人开发
西门吹雪分身10 小时前
mysql之数据离线迁移
数据库·mysql
一只大袋鼠10 小时前
并发编程(三):线程快照统计・grep+awk+sort+uniq 实战详解
java·开发语言·多线程·并发编程