如何使用我的连接表MySQL?

时间:2015-07-08 04:17:31

标签: mysql

我在MySQL数据库中有3个表,

作者
图书
Author_has_Book。

作者有两列
idauthor
名称

Book还有两列
idbook
名称

Author_has_Book也有两列
作者的外键和书book_idbook
author_idauthor。

我已成功将作者和一本书插入两个表格中,并且已将其密钥输入到联接表格中。

现在我如何使用此联接表来获取某位作者或所有作者的书籍?这是用连接完成的吗?

编辑:建议的副本不是同一个问题。

2 个答案:

答案 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