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

如何在 SQL SELECT 語句中執行條件邏輯?

Susan Sarandon
Susan Sarandon原創
2025-01-22 15:16:10794瀏覽

How Can I Perform Conditional Logic in SQL SELECT Statements?

SQL SELECT 語句中的條件邏輯:綜合指南

SQL 通常需要 SELECT 語句中的條件邏輯來修改或篩選資料。 CASE 語句提供了一個多功能解決方案,支援多種 SQL 方言。

要模仿 IF...THEN 查詢中的 SELECT 結構,請使用 CASE 語句,如下所示:

<code class="language-sql">SELECT CAST(
    CASE
        WHEN condition1 OR condition2 THEN value_if_true
        ELSE value_if_false
    END AS data_type) AS new_column, *
FROM table_name;</code>

以下是語法細分:

  • condition1condition2:評估條件。
  • value_if_truevalue_if_false:依條件為 true 或 false 傳回的值。
  • data_typenew_column結果的資料型態。
  • table_name:從中選取資料的表格。

例如,要將 Saleable 表新增 Product 列,根據 ObsoleteInStock 狀態指示產品可用性:

<code class="language-sql">SELECT CAST(
    CASE
        WHEN Obsolete = 'N' OR InStock = 'Y' THEN 1
        ELSE 0
    END AS bit) AS Saleable, *
FROM Product;</code>

簡化版本,省略CAST,產生整數結果:

<code class="language-sql">SELECT CASE
    WHEN Obsolete = 'N' OR InStock = 'Y' THEN 1
    ELSE 0
END AS Saleable, *
FROM Product;</code>

CASE 語句可以嵌套或整合到聚合函數中。 此外,SQL Server 2012引進了IIF語句,提供了另一個簡潔的語法:

<code class="language-sql">SELECT IIF(Obsolete = 'N' OR InStock = 'Y', 1, 0) AS Saleable, *
FROM Product;</code>

這簡化了 SELECT 語句中的條件邏輯,提供資料運算的彈性和效率。

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

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