当前位置:首页 > 行业动态 > 正文

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

MySQL中的CASE语句用于在查询中进行条件判断。它允许您在SQL查询中包含逻辑,以便根据不同的条件返回不同的值。 CASE语句的基本结构是:CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 … ELSE result N END;

CASE 语句在 SQL 中用于条件判断,类似于编程语言中的ifelse 语句,它允许根据不同的条件返回不同的值。CASE 语句的基本语法如下:

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

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_idtotal_price 三个字段,我们希望根据total_price 的值对订单进行分类,可以使用以下 SQL 查询实现:

SELECT order_id, customer_id, total_price,
    CASE
        WHEN total_price < 100 THEN '低价值订单'
        WHEN total_price >= 100 AND total_price < 500 THEN '中等价值订单'
        WHEN 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 中的用法。

0