mysql中from后面能不能跟case

来源:这里教程网 时间:2026-02-28 18:11:09 作者:

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></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 <= 18 THEN 'Minor'
    ELSE 'Unknown'
END AS `age_group`;</code>

此查询将返回所有来自美国的客户,并根据年龄将他们分类为成年人、未成年人或未知。

相关推荐