[SQL] SELECT...CASE...WHEN...THEN...是在SQL中用于进行条件判断和赋值的语句

CASE... WHEN

SELECT...CASE...WHEN...THEN...是在SQL中用于进行条件判断和赋值的语句。

以下是一个代码示例:

sql 复制代码
SELECT 
    column1,
    column2,
    CASE 
        WHEN condition1 THEN result1
        WHEN condition2 THEN result2
        ...
        WHEN conditionN THEN resultN
        ELSE result
    END AS new_column
FROM 
    table_name;

解释:

  • SELECT:表示要选取的字段或表达式。
  • column1, column2:表示要选取的原始字段。
  • CASE:表示开始一个CASE语句块。
  • WHEN condition1 THEN result1:表示当condition1条件满足时,将new_column列赋值为result1。
  • WHEN condition2 THEN result2:表示当condition2条件满足时,将new_column列赋值为result2。
  • ELSE result:表示当上述所有条件都不满足时,默认将new_column列赋值为result。
  • END AS new_column:表示结束CASE语句块,并将赋值后的结果命名为new_column
  • FROM table_name:表示从指定的表中进行查询操作。

需要注意的是,WHEN子句的条件可以是基于列的比较、函数操作、常量等,

根据具体需求来编写条件判断和赋值逻辑。

例如

sql 复制代码
SELECT name, score,
  CASE
    WHEN score >= 90 THEN '优秀'
    WHEN score >= 80 THEN '良好'
    WHEN score >= 70 THEN '及格'
    ELSE '不及格'
  END AS grade
FROM students;

将生成以下三列:

  • 学生的姓名 name
  • 分数 score
  • 根据分数计算出的等级 grade

相关推荐
Gauss松鼠会1 分钟前
【GaussDB】GaussDB 组件、节点和AZ故障仲裁与切换流程
运维·服务器·数据库·gaussdb
myy-learn23 分钟前
32 SQLITE数据库
jvm·数据库·sqlite
JavaPub-rodert24 分钟前
Redis 和 MySQL 如何保证数据一致性?从业务方案到底层原理完整讲解
数据库·redis·mysql
大牧师30 分钟前
TypeORM 学习教程
数据库·sql·学习·node.js·orm·nest.js·typeorm
IvorySQL34 分钟前
PostgreSQL 日报| PGQ 功能发现严重缺陷(9 月 4 日)
数据库·postgresql
后台模板学习1 小时前
用 IM 即时聊天项目一次讲清消息去重算法的踩坑与解决方案
java·数据库·spring
imbackneverdie1 小时前
国内有哪些比较全面的生物医学相关数据库?
大数据·数据库·人工智能·ai·信息可视化·aigc·科研
数字智核1 小时前
2026昆山工厂空压机突然停机怎么办?找谁抢修
服务器·网络·数据库
AAA代码批发商2 小时前
Days 39 Linux C 开发之 SQLite 数据库完整学习笔记
linux·c语言·数据库
笑梦无境2 小时前
mysql的安装及配置(3)
数据库·mysql·adb