gpt4 book ai didi

mysql - 不对 UNION 使用别名是不正确的吗?

转载 作者:可可西里 更新时间:2023-11-01 08:00:03 33 4
gpt4 key购买 nike

在 MySQL 查询中,例如

SELECT *
FROM (

SELECT user_id
FROM favorites
WHERE user_id >1
UNION SELECT user_id
FROM favorites
WHERE user_id <9
) AS derived

是否可以不为收藏夹表添加别名(例如“friends AS f1”)?我注意到此查询按预期工作(即返回所有 user_id),但我不知道这样做是否不好。当我有几个 UNION 时,如果我不必保持所有别名都是直的,那么我的查询就不那么困惑了。是否有关于何时使用别名的通用规则(也许是“在使用同一表的多个实例时始终使用别名”)?

最佳答案

您不需要在联合内使用别名。联合的每个部分本质上都是它自己的查询。

只有在查询中两次使用同一个表或连接到子查询时才需要别名,否则没有必要(除非你想要)。

您也不需要外部选择包装器,它没有任何用处,甚至可能减慢速度。

(我假设 union 只是一个例子——你的 where 子句可以只用一个查询完成,你可能想要 union all。)

关于mysql - 不对 UNION 使用别名是不正确的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7882854/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com