mysql中from后面能不能跟case-mysql教程

MySQL FROM 后面能否使用 CASE 表达式?

答案:
可以

详细解释:

MySQL 允许在 FROM 子句中使用 CASE 表达式来从表中选择特定行。CASE 表达式本质上是一个条件语句,可以根据给定的条件返回不同的值。

语法:

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>
登录后复制

其中:

  • 是在应用 CASE 表达式之前必须满足的条件。
  • 是要评估的条件。
  • 是根据条件返回的值。
  • 是如果没有条件匹配时返回的默认值。
  • 是为 CASE 表达式结果分配的别名。

示例:

假设有一个 "customers" 表,包含以下列:

  • customer_id
  • name
  • country

我们可以使用 CASE 表达式从表中选择来自特定国家/地区的客户:

SELECT *
FROM customers
WHERE country = 'United States'
AND CASE
    WHEN age &gt; 18 THEN 'Adult'
    WHEN age <p>此查询将返回所有来自美国的客户,并根据年龄将他们分类为成年人、未成年人或未知。</p>
登录后复制

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。