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

相关推荐
不想看见4044 分钟前
Qt 框架中的信号与槽机制【详解】
服务器·数据库·qt
无籽西瓜a7 分钟前
TCP三次握手与四次挥手详解含图解
java·服务器·网络·tcp/ip
晨陌y9 分钟前
Maven完整配置教程:从零基础到实战,新手零踩坑
java·maven
白鸽梦游指南12 分钟前
redis-cluster集群实验及解析
数据库·redis·缓存
SuniaWang12 分钟前
《Spring AI + 大模型全栈实战》学习手册系列·专题一:《RAG技术全景解析:从原理到架构设计》
java·javascript·人工智能·spring boot·后端·spring·架构
java1234_小锋13 分钟前
Java高频面试题:Spring是如何解决Bean的循环依赖?
java·开发语言·spring
历程里程碑15 分钟前
43. TCP -2实现英文查中文功能
java·linux·开发语言·c++·udp·c#·排序算法
阿贵---16 分钟前
构建一个基于命令行的待办事项应用
jvm·数据库·python
计算机与认知19 分钟前
Linux Device Link机制
java·linux·服务器
代码探秘者19 分钟前
【算法篇】1.双指针
java·数据结构·人工智能·后端·python·算法