Mysql 在sql中使用join从第三个表获取数据

Mysql 在sql中使用join从第三个表获取数据,mysql,sql,Mysql,Sql,我有以下结构的三个表: Car-Owners CarRecords Cars ownerName ownerID ownerID carID carID carName 我想列出拥有一辆特定汽车的所有车主(比如本田思域),并在车主姓名的同时显示汽车名称。我对JOIN语句不太在行,而且我似乎无法将如何使用它的

我有以下结构的三个表:

Car-Owners                            CarRecords                           Cars

ownerName  ownerID                 ownerID   carID                     carID   carName

我想列出拥有一辆特定汽车的所有车主(比如本田思域),并在车主姓名的同时显示汽车名称。我对JOIN语句不太在行,而且我似乎无法将如何使用它的要点联系起来。

因此,您可能需要执行以下操作:

select Car-Owners ownerName, Cars carName 
from Car-Owners, CarRecords, Cars 
 where Car-Owners.ownerId = CarRecords.ownerId 
 and CarRecords.carID = Cars.carId;

从技术上讲,这是一个内部连接,只是它不是显式的

您是否曾将车主作为CO?其中C.carName='Talbot Princess'。在这种情况下这不是问题,但在进行联接时,最好限定所有列名。从技术上讲,这是一种旧语法,您不应该再使用它。他们不赞成隐式外部联接语法。
SELECT CO.ownerName, C.carName
FROM Car-Owners AS CO
INNER JOIN CarRecords CR ON CO.ownderID = CR.ownerID
INNER JOIN Cars C ON C.carID = CR.carID
WHERE carName = 'Delorean'