mySQL多对多左连接语法

mySQL多对多左连接语法,mysql,join,Mysql,Join,我有3个mySQL InnoDB表: 书籍 A_ID smallint(5)无符号自动递增主键 标题varchar(60) 作者 B_ID smallint(5)无符号自动递增主键 名称varchar(30) 作者书多对多表 A_ID smallint(5)无符号 B_ID smallint(5)无符号 主键(A\u ID,B\u ID) 外键(A_ID)引用作者(A_ID) 外键(B_ID)参考书(B_ID) 我不明白如何在多对多表中使用左连接:比如,显示每本书的作者。我尝试了这个似乎合乎逻辑

我有3个mySQL InnoDB表:

书籍
A_ID smallint(5)无符号自动递增主键
标题varchar(60)

作者
B_ID smallint(5)无符号自动递增主键
名称varchar(30)

作者书多对多表
A_ID smallint(5)无符号
B_ID smallint(5)无符号
主键(A\u ID,B\u ID)
外键(A_ID)引用作者(A_ID)
外键(B_ID)参考书(B_ID)

我不明白如何在多对多表中使用左连接:比如,显示每本书的作者。我尝试了这个似乎合乎逻辑但运气不佳的问题:

SELECT Books.Title, Authors.Name 
FROM Books LEFT JOIN ON Books.B_ID = Author_Book.B_ID 
LEFT JOIN ON AuthorBook.A_ID = Authors.A_ID;
我的查询中是否有标点符号/语法错误?

任何帮助都将不胜感激。

我建议您尝试使用内部联接作为第二个联接,但这里的问题是您错过了要联接的表:

SELECT Books.Title, Authors.Name 
FROM Books LEFT JOIN Author_Book ON Books.B_ID = Author_Book.B_ID 
LEFT JOIN Authors ON AuthorBook.A_ID = Authors.A_ID;
SELECT Books.Title,Authors.Name FROM Books LEFT JOIN Author\u Book ON Books.B\u ID=Author\u Book.B\ID LEFT JOIN Authors ON AuthorBook.A\u ID=Authors.A\u ID

或者,如果您不需要没有书籍的作者,例如:


SELECT Books.Title,Authors.Name FROM Books internal JOIN Author\u Book ON Books.B\u ID=Author\u Book.B\ID internal JOIN Authors ON AuthorBook.A\u ID=Authors.A\u ID

否。请参阅左连接语法。回答了我(新手)的问题;请考虑关闭这个主题。