返回列表 发新帖

如何使用MySQL的CASE语句进行条件判断?

[复制链接]

4

主题

4

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2024-8-8 03:17:48  | 显示全部楼层 | 阅读模式
MySQL中的CASE语句用于在查询中进行条件判断。它允许您在SQL查询中包含逻辑,以便根据不同的条件返回不同的值。CASE语句的基本结构是:CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 … ELSE result N END;
CASE 语句在 SQL 中用于条件判断,类似于编程语言中的ifelse 语句,它允许根据不同的条件返回不同的值。CASE 语句的基本语法如下:

zbhjsjc4wjia1up.jpg

zbhjsjc4wjia1up.jpg


(图片来源网络,侵删)

CASE
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    ...
    WHEN conditionN THEN resultN
    ELSE result
END;
condition1,condition2, …,conditionN 是需要进行判断的条件,result1,result2, …,resultN 是对应条件成立时返回的结果,如果所有条件都不满足,那么将返回ELSE 子句中的结果,如果没有ELSE 子句,那么将返回 NULL。
假设有一个名为orders 的表,其中包含order_id,customer_id 和total_price 三个字段,我们希望根据total_price 的值对订单进行分类,可以使用以下 SQL 查询实现:

SELECT order_id, customer_id, total_price,
    CASE
        WHEN total_price = 100 AND total_price = 500 THEN '高价值订单'
        ELSE '未知订单'
    END AS order_type
FROM orders;
这个查询将返回每个订单的order_id,customer_id,total_price 以及一个名为order_type 的新列,该列根据total_price 的值对订单进行分类,结果可能如下表所示:
order_id customer_id total_price order_type
1 101 50 低价值订单
2 102 150 中等价值订单
3 103 600 高价值订单
4 104 300 中等价值订单
5 105 700 高价值订单

希望这个示例能帮助你理解CASE 语句在 MySQL 中的用法。


zbhjalxdvabttxh.jpg

zbhjalxdvabttxh.jpg


(图片来源网络,侵删)
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表