是的,MySQL允許在FROM子句中使用CASE表達式來選擇特定行,語法為:SELECT ... FROM table_name WHERE <filter_condition> AND CASE WHEN <condition1> THEN
AND CASE WHEN <condition1> THEN ELSE <default_value> END AS <alias>,其中
#SQL FROM後面能否使用CASE 表達式?
答案:
可以
詳細解釋:
MySQL 允許在FROM 子句中使用CASE 表達式來從表格中選擇特定行。 CASE 表達式本質上是一個條件語句,可以根據給定的條件傳回不同的值。
語法:
<code>SELECT ... FROM table_name WHERE <filter_condition> AND CASE WHEN <condition1> THEN <value> WHEN <condition2> THEN <value> ELSE <default_value> END AS <alias></code>
其中:
<filter_condition>
是在應用CASE 表達式之前必須滿足的條件。 <condition1>
和 <condition2>
是要評估的條件。 <value>
是根據條件傳回的值。 <default_value>
是如果沒有條件符合時傳回的預設值。 <alias>
是 CASE 運算式結果所指派的別名。 範例:
假設有一個"customers" 表,包含以下列:
customer_id
name
country
#我們可以使用CASE 運算式從表格中選取來自特定國家/地區的客戶:
<code>SELECT * FROM customers WHERE country = 'United States' AND CASE WHEN age > 18 THEN 'Adult' WHEN age <= 18 THEN 'Minor' ELSE 'Unknown' END AS `age_group`;</code>
此查詢將返回所有來自美國的客戶,並根據年齡將他們分類為成年人、未成年人或未知。
以上是mysql中from後面能不能跟case的詳細內容。更多資訊請關注PHP中文網其他相關文章!