[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

相关推荐
FinTech老王5 分钟前
逻辑删除不等于物理销毁:KingbaseES敏感数据标记与销毁实操指南
数据库·安全·oracle
HHHHH1010HHHHH9 分钟前
Tailwind CSS如何快速定义固定宽高比_使用aspect-square实现CSS正方形
jvm·数据库·python
梦想的旅途210 分钟前
解构自动化办公新思路:实现外部群聊能力的深度集成与交互
java·数据库·rpa
m0_5150984213 分钟前
c++怎么获取文件的Inode节点信息_stat结构体深度解析【详解】
jvm·数据库·python
m0_6742946420 分钟前
HTML怎么限制输入字符数_HTML input maxlength属性用法【详解】
jvm·数据库·python
maqr_11025 分钟前
layui table单元格编辑 layui表格如何实现可编辑
jvm·数据库·python
z44247532630 分钟前
HTML函数开发用旋转屏有优势吗_特殊硬件形态适配说明【方法】
jvm·数据库·python
2501_914245931 小时前
SQL如何统计分组内满足条件的唯一项_COUNT与DISTINCT
jvm·数据库·python
chen_ever1 小时前
Redis详解|从基础到面试高频题
数据库·redis·后端·缓存
弱水三千 只取一瓢饮1 小时前
sqlserver 从数据库A的备份文件,还原到数据库B中
数据库·sqlserver