IF 語句在 SQL WHERE 子句中用來建立條件運算式,根據某個條件執行不同的運算。它可以將空值替換為另一個值、根據條件傳回不同的值,以及基於不同的條件執行巢狀查詢。
SQL 中WHERE 子句中的IF 語句用法
WHERE 子句用於在SQL 查詢中過濾數據,僅傳回滿足指定條件的行。 IF 語句可用於在 WHERE 子句中建立條件表達式,以便根據某個條件執行不同的操作。
IF 語句語法
<code>WHERE IF(condition, true_value, false_value)</code>
其中:
用法
IF 語句可以用來建立複雜的篩選條件,它可以在WHERE 子句中執行下列動作:
範例
將空值替換為預設值:
<code>SELECT * FROM table_name WHERE IF(column_name IS NULL, 'N/A', column_name);</code>
這將傳回一個表,其中所有空值的column_name 欄位都將替換為"N/A"。
根據條件傳回不同的值:
<code>SELECT * FROM table_name WHERE IF(age >= 18, 'Adult', 'Underage');</code>
這將傳回一個表,其中age 列的值大於等於18 的行為"Adult",小於18 的行為"Underage"。
基於不同的條件執行巢狀查詢:
<code>SELECT * FROM table_name WHERE IF(country = 'USA', (SELECT MAX(salary) FROM employees WHERE country = 'USA'), (SELECT MAX(salary) FROM employees WHERE country = 'UK'));</code>
這將傳回一個表,其中salary 列的值為美國員工的最大工資,如果是英國員工,則為英國員工的最大工資。
以上是sql中where後面if語句的用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!