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>
以下是語法細分:
condition1
和 condition2
:評估條件。 value_if_true
和 value_if_false
:依條件為 true 或 false 傳回的值。 data_type
:new_column
結果的資料型態。 table_name
:從中選取資料的表格。 例如,要將 Saleable
表新增 Product
列,根據 Obsolete
和 InStock
狀態指示產品可用性:
<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中文網其他相關文章!