我在MySQL数据库中有3个表,
作者
图书
Author_has_Book。
作者有两列
idauthor
名称
Book还有两列
idbook
名称
Author_has_Book也有两列
作者的外键和书book_idbook
author_idauthor。
我已成功将作者和一本书插入两个表格中,并且已将其密钥输入到联接表格中。
现在我如何使用此联接表来获取某位作者或所有作者的书籍?这是用连接完成的吗?
编辑:建议的副本不是同一个问题。
答案 0 :(得分:1)
它将为您提供所有记录
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'
答案 1 :(得分:0)
尝试此查询
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