[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

相关推荐
m0_64030930几秒前
如何处理SQL查询中的逻辑重叠:AND OR嵌套优先级
jvm·数据库·python
qq_432703661 分钟前
如何快速定位SQL表中的特定行:ROWID与唯一键的应用
jvm·数据库·python
m0_377618231 分钟前
mysql如何配置插件以提升查询性能_安装启用memcached插件
jvm·数据库·python
djjdjdjdjjdj1 分钟前
SQL高效实现两表数据对比_利用FULL OUTER JOIN查找差异
jvm·数据库·python
qq_424098562 分钟前
html标签怎么表示用户输入_kbd标签键盘快捷键标注【介绍】
jvm·数据库·python
qq_372154232 分钟前
PHP 中使用 GnuPG 实现 PGP 加密与解密的完整实践指南
jvm·数据库·python
2301_796588507 分钟前
Python中PyTorch如何处理NaN损失值_添加梯度裁剪与检查输入数据
jvm·数据库·python
InfinteJustice12 分钟前
Golang怎么做代码热更新_Golang热更新教程【精通】
jvm·数据库·python
2401_8877245013 分钟前
c++如何利用C++23的std--expected重构传统的文件IO报错代码【进阶】
jvm·数据库·python
2301_7775993715 分钟前
Go语言怎么做DNS查询_Go语言DNS域名解析教程【完整】
jvm·数据库·python