无名阁,只为技术而生。流水不争先,争的是滔滔不绝。

(sql when case then) SQL中case when用法及使用案例详解 SQL 中的 CASE WHEN:条件表达式的使用# 全网首发(图文详解1)

前沿技术 Micheal 7个月前 (06-12) 78次浏览 已收录 扫描二维码

(sql when case then) SQL中case when用法及使用案例详解

SQL 中的 CASE WHEN 是一种条件表达式,用来在查询中基于特定的条件返回不同的结果。它类似于编程中的 if-else 语句。CASE 表达式既可以用在 SQL 语句的 select 部分,也可以用在 where、order by 等子句中。

基本语法如下:

CASE
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    ...
    WHEN conditionN THEN resultN
    ELSE default_result
END

以下是一个使用 CASE WHEN 的例子,用来根据一个员工的销售业绩给出不同的评级(A, B, C):

SELECT EmployeeID,
    Sales,
    CASE
        WHEN Sales > 20000 THEN 'A'
        WHEN Sales BETWEEN 10000 AND 20000 THEN 'B'
        WHEN Sales < 10000 THEN 'C'
        ELSE 'No Rating' -- 当没有符合以上任何条件的情况
    END AS Rating
FROM SalesRecords;

在这个例子中,如果员工销售额超过 20000,评级就是 ‘A’;销售额在 10000 到 20000 之间的就是 ‘B’;销售额小于 10000 的就是 ‘C’;如果员工的销售额没有符合以上任何条件,就是 ‘No Rating’。

CASE WHEN也可以嵌套使用,就像嵌套的if-else语句那样,但是要注意复杂性和可读性。

案例:给图书馆的书分级,假设根据图书的借阅次数来分为热门书籍和非热门书籍。

SELECT BookID,
       Title,
       BorrowedTimes,
       CASE
           WHEN BorrowedTimes > 100 THEN 'Popular Book'
           ELSE 'Regular Book'
       END AS Popularity
FROM LibraryBooks;

如果书被借阅超过 100 次,则为 ‘Popular Book’;否则,为 ‘Regular Book’。

使用 CASE WHEN 语句能让你的 SQL 查询更加强大和灵活,特别在数据分析和生成报表时非常有用。在开发中,它经常被用于对数据进行分类、执行条件逻辑计算字段,以及在 join 查询中处理复杂逻辑等。
(微信小程序弹窗) 微信小程序四种弹窗方式实例 微信小程序中的四种弹窗方式 全网首发(图文详解1)
(vue hover) Vue的hover/click事件如何动态改变颜色和背景色 Vue 中实现鼠标悬停和点击时改变元素颜色的解决方案 全网首发(图文详解1)

喜欢 (0)
[]
分享 (0)
关于作者:
流水不争先,争的是滔滔不绝