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

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

Barbara Streisand
Barbara Streisand原創
2025-01-22 15:21:10587瀏覽

How to Implement Conditional Logic in SQL SELECT Statements?

SQL SELECT 語句中的條件邏輯

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

利用 CASE 語句

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

文法:

<code class="language-sql">SELECT
    CASE
        WHEN condition1 THEN result1
        WHEN condition2 THEN result2
        ...
        ELSE default_result
    END AS new_column_name,
    other_columns
FROM your_table;</code>

範例:

<code class="language-sql">SELECT
    CASE
        WHEN IsActive = 'Yes' THEN 'Active'
        WHEN IsActive = 'No' THEN 'Inactive'
        ELSE 'Unknown'
    END AS Status,
    *
FROM Users;</code>

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

使用 IIF 函數 (SQL Server)

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

文法:

<code class="language-sql">IIF(condition, true_result, false_result)</code>

範例:

<code class="language-sql">SELECT
    IIF(OrderTotal > 100, 'High Value', 'Low Value') AS OrderCategory,
    *
FROM Orders;</code>

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

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn