我在一个MySQL数据库中有3个表,
作者
书
Author_has_Book。
作者有两栏
发信人
名字
书中也有两栏
idbook
名字
Author_has_Book还有两列
作者的外键和一本书book_idbook
author_idauthor。
我成功地将一位作者和一本书插入到两个表中,并将它们的键输入到联接表中。
现在,我如何使用这个联接表来获取某个作者的所有书籍,或者一本书的所有作者?加入就能做到这一点吗?
编辑:建议的复制不是同一个问题。
发布于 2015-07-07 20:28:03
它会给你带来所有的记录
SELECT Author.*
FROM Author Author
INNER JOIN Author_has_Book AuthorHasBook
ON Author.idauthor = AuthorHasBook.author_idauthor
INNER JOIN Book Book
ON AuthorHasBook.book_idbook = Book.idbook
如果您希望选择任何特定的作者,只需在where子句中提及它,请参见下面的示例:
SELECT Author.*
FROM Author Author
INNER JOIN Author_has_Book AuthorHasBook
ON Author.idauthor = AuthorHasBook.author_idauthor
INNER JOIN Book Book
ON AuthorHasBook.book_idbook = Book.idbook
WHERE Author.idauthor = 'your author id'
发布于 2015-07-07 20:28:16
尝试这个查询
select a.name,c.name from book a
join Author_has_Book b on a.idbook=b.idbook
join author c on b.idauthor=c.idauthor
https://stackoverflow.com/questions/31283442
复制