[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

相关推荐
2301_8092047029 分钟前
JavaScript中严格模式use-strict对引擎解析的辅助.txt
jvm·数据库·python
zjy2777744 分钟前
mysql如何选择合适的索引类型_mysql索引设计实战
jvm·数据库·python
笨蛋不要掉眼泪1 小时前
Mysql架构揭秘:update语句的执行流程
数据库·mysql·架构
万邦科技Lafite1 小时前
京东item_get接口实战案例:实时商品价格监控全流程解析
java·开发语言·数据库·python·开放api·淘宝开放平台
秋92 小时前
ruoyi项目更换为mysql9.7.0数据库
数据库
Andya_net2 小时前
MySQL | MySQL 8.0 权限管理实践-精确赋予库、表只读等权限
android·数据库·mysql
筑梦之路3 小时前
harbor数据库报错权限异常如何处理——筑梦之路
数据库·harbor
czlczl200209254 小时前
理解 MySQL 行锁:两阶段锁协议与热点更新优化
数据库·mysql
AllData公司负责人4 小时前
通过Postgresql同步到Doris,全视角演示AllData数据中台核心功能效果,涵盖:数据入湖仓,数据同步,数据处理,数据服务,BI可视化驾驶舱
java·大数据·数据库·数据仓库·人工智能·python·postgresql
哆啦A梦15884 小时前
20, Springboot3+vue3实现前台轮播图和详情页的设计
javascript·数据库·spring boot·mybatis·vue3