MySQL CASE 语句
MySQL CASE 语句
The CASE
语句遍历条件,并在第一个满足条件时返回一个值(类似于 if-then-else 语句)。因此,一旦某个条件为真,它将停止读取并返回结果。如果没有任何条件为真,它将返回 ELSE
子句中的值。
如果没有 ELSE
部分,并且没有任何条件为真,它将返回 NULL。
CASE 语法
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
当 conditionN 时 resultN
否则 result
结束;
演示数据库
以下是 Northwind 示例数据库中 "OrderDetails" 表的选取内容
OrderDetailID | OrderID | ProductID | Quantity |
---|---|---|---|
1 | 10248 | 11 | 12 |
2 | 10248 | 42 | 10 |
3 | 10248 | 72 | 5 |
4 | 10249 | 14 | 9 |
5 | 10249 | 51 | 40 |
MySQL CASE 示例
以下 SQL 语句遍历条件,并在第一个条件满足时返回一个值
示例
SELECT OrderID, Quantity,
CASE
当 Quantity > 30 时 '数量大于 30'
当 Quantity = 30 时 '数量等于 30'
否则 '数量小于 30'
结束 AS QuantityText
FROM OrderDetails;
自己尝试 »
以下 SQL 语句将按城市对客户进行排序。但是,如果 City 为 NULL,则按国家排序
示例
SELECT CustomerName, City, Country
FROM Customers
ORDER BY
(CASE
当 City 为 NULL 时 Country
否则 City
结束);
自己尝试 »