我有 5 个表需要查询,但我不确定如何执行此操作。我正在考虑使用多个内部联接,但是我遇到了很多错误。
这是我想做的一个例子:
表格:
Customer
ID Name State hotelID
1 George W.A 1
2 Franklin N.S.W 2
Bus
ID Make
1 Hino
2 Mercedes
3 Leyland
Hotel
ID Name
1 Hyatt
2 Sebel
Tour
ID tourName busID
1 Japan 1
2 America 1
3 Austria 2
tour-CustLink
ID tourID custID
1 1 1
2 2 2
3 3 3
假设查询要列出入住凯悦酒店并乘坐日野巴士的客户的姓名和状态,我将如何执行此操作?
这些表不是我实际使用的,我只是更喜欢在这样的示例中使用它,并且有很多代码可以添加。
最佳答案
像这样的……
SELECT c.Name, c.State
FROM tourCustLink AS tcl
INNER JOIN Customer AS c ON tcl.custID = c.ID
INNER JOIN Hotel AS h on c.hotelID = h.ID
INNER JOIN Tour AS t on tcl.tourID = t.ID
INNER JOIN Bus AS b on t.busID = b.ID
WHERE h.Name = 'Hyatt'
AND b.Make = 'Hino'
但要注意这不是优化的......真的有点过早...... 8-)
关于mysql - 内部加入超过 2 个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16343386/