是的,mysql允許在from子句中使用case表達式來選擇特定行,語法為:select … from table_name where and case when then when then else end as ,其中
MySQL 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></alias></default_value></value></condition2></value></condition1></filter_condition></code>
登錄后復制
其中:
<filter_condition></filter_condition> 是在應用 CASE 表達式之前必須滿足的條件。
<condition1></condition1> 和 <condition2></condition2> 是要評估的條件。
<value></value> 是根據條件返回的值。
<default_value></default_value> 是如果沒有條件匹配時返回的默認值。
<alias></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 </code>
登錄后復制
此查詢將返回所有來自美國的客戶,并根據年齡將他們分類為成年人、未成年人或未知。






