gpt4 book ai didi

mysql - SQL 在单列上连接多个表

转载 作者:可可西里 更新时间:2023-11-01 07:49:59 30 4
gpt4 key购买 nike

我可以使用 USING 子句连接 2 个以上的表吗?即我可以这样做吗

SELECT * FROM (a, b, c) USING(date)

或类似的东西而不是

SELECT * FROM a, b USING(date), c USING(date)

?

我正在使用 MySQL。

编辑
我从答案中看出我被误解了。第二个示例工作正常,但对于许多表来说变得非常冗长和冗长。我正在寻找一种更简洁的语法,而不是更复杂的方法来实现这一点。

最佳答案

没有这样的语法来实现你想要的,但是有一件事很接近:

它有点被看不起,但你可以考虑使用 NATURAL JOIN 语法,其中用于连接的条件是隐含的,因为你不需要指定要加入的列。隐式条件发生在您正在加入的表中具有相同名称的列上。

如果 date 是所有表中唯一具有相同名称的列,那么您可以这样做:

SELECT *
FROM a
NATURAL JOIN b
NATURAL JOIN c

这将隐式连接 date 列上的表,因为表中的字段名称相同。

这种方法的缺点当然是您不能在另一个表中有任何其他具有相同名称的列,否则您的连接将中断,因为这些列将被考虑在内无意中加入条件。

更多关于 NATURAL JOIN

关于mysql - SQL 在单列上连接多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11222777/

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