gpt4 book ai didi

sql - mysql 中的多重连接

转载 作者:行者123 更新时间:2023-11-29 09:12:56 24 4
gpt4 key购买 nike

我正在尝试像这样进行多重连接

SELECT * FROM (((Customer FULL JOIN Booking ON Customer.ID = Booking.CustID) 
FULL JOIN Flight ON Booking.FlightID = Flight.ID)
FULL JOIN FlightRoute ON Flight.RouteID = FlightRoute.ID)

但是根据 mysql 的说法,它在语法上是错误的。请帮忙

最佳答案

MySQL 中没有FULL JOIN。它很复杂,但是 FULL JOIN 相当于 LEFT JOIN 和 RIGHT JOIN 之间的 UNION ALL ,使用删除重复项的条件。现在已经很晚了,一想到该语句中的 3 个FULL JOIN,我就很头疼。

您在 Conrad Frix 的回答中确实说过,删除 FULL 可以使其工作,如果确实如此,那么您就误解了 FULL JOININNER JOIN的工作。

对于第一个FULL JOIN,它看起来像:

SELECT * FROM Customers c
LEFT JOIN Booking b ON c.ID = b.CustId
UNION ALL
SELECT * FROM Customers c
RIGHT JOIN Booking b ON c.ID = b.CustId
WHERE c.ID IS NULL

使用该基础来形成其余的陈述。

关于sql - mysql 中的多重连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5031739/

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