SQL Case

创建于 2024-12-02 / 29
字体: [默认] [大] [更大]

SQL CASE 语句

CASE语句遍历条件并在满足第一个条件时返回一个值(如IF-THEN-ELSE语句)。因此,一旦条件为真,它将停止读取并返回结果。如果没有条件为 true,则返回 ELSE 子句中的值。

如果没有其他部分,并且没有条件为 true,则返回 NULL。

CASE 语法

CASE
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    WHEN conditionN THEN resultN
    ELSE result
END;

演示数据库

以下是从 "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

Advertisement

-->

SQL CASE 实例

以下SQL遍历条件并在满足第一个条件时返回值:

实例

SELECT OrderID, Quantity,
CASE
    WHEN Quantity > 30 THEN 'The quantity is greater than 30'
    WHEN Quantity = 30 THEN 'The quantity is 30'
    ELSE 'The quantity is under 30'
END AS QuantityText
FROM OrderDetails; 亲自试一试 »

以下SQL将按城市对客户进行排序。但是,如果城市为空,则按国家排序:

实例

SELECT CustomerName, City, Country
FROM Customers
ORDER BY
(CASE
    WHEN City IS NULL THEN Country
    ELSE City
END); 亲自试一试 »

0 人点赞过