mysql - 内部加入超过 2 个表

标签 mysql

我有 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/

相关文章:

mysql - 询问不在空集中的项目时返回空集

mysql - 多个子查询结构中缺少某些内容

mySql INNER JOIN、MAX 和 DISTINCT

php - CodeIgniter 中带有单表的多级菜单

mysql - 更改 MySQL 日期表示形式

mysql - Laravel - 通过定义的属性创建或更新

mysql - 我如何使用 LAN 将客户端连接到服务器数据库(mysql)

mysql - 替代sql server 2005

Android studio应用程序与mysql的连接

java - 如何从Java连接到MySQL而不将密码存储为明文