首頁 > 資料庫 > mysql教程 > 如何在SQL SELECT語句中實現條件邏輯?

如何在SQL SELECT語句中實現條件邏輯?

Barbara Streisand
發布: 2025-01-22 15:21:10
原創
657 人瀏覽過

How to Implement Conditional Logic in SQL SELECT Statements?

SQL SELECT 語句中的條件邏輯

SQL 的 SELECT 語句不直接支援 IF...THEN 建構。 但是,有兩種有效的替代方法可用於實現條件邏輯:CASE 語句和 IIF 函數(在某些 SQL 方言中可用)。

利用 CASE 語句

CASE 語句反映了其他程式語言中 IF...THEN 的功能。它按順序評估條件並根據滿足的第一個條件傳回一個值。

文法:

SELECT
    CASE
        WHEN condition1 THEN result1
        WHEN condition2 THEN result2
        ...
        ELSE default_result
    END AS new_column_name,
    other_columns
FROM your_table;
登入後複製

範例:

SELECT
    CASE
        WHEN IsActive = 'Yes' THEN 'Active'
        WHEN IsActive = 'No' THEN 'Inactive'
        ELSE 'Unknown'
    END AS Status,
    *
FROM Users;
登入後複製

此查詢新增「狀態」列,根據 IsActive 列的值指派「活動」、「非活動」或「未知」。

使用 IIF 函數 (SQL Server)

IIF 函數(在 SQL Server 2012 中引入)提供了一種簡潔的方法來處理 SELECT 語句中的條件邏輯。

文法:

IIF(condition, true_result, false_result)
登入後複製

範例:

SELECT
    IIF(OrderTotal > 100, 'High Value', 'Low Value') AS OrderCategory,
    *
FROM Orders;
登入後複製

此範例建立一個「OrderCategory」列,根據 OrderTotal 將訂單分類為「高價值」或「低價值」。 請注意,IIF 特定於 SQL Server,在其他資料庫系統中可能無法使用。 為了更廣泛的相容性,通常首選 CASE 語句。

以上是如何在SQL SELECT語句中實現條件邏輯?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板