如何在M:N关系中对两个表发出SELECT查询?

时间:2014-09-25 00:41:22

标签: sql sqlite join jointable

我有一个带有表authors的SQLite数据库(列idname),表books(列idtitle)和表books_authors_link(列idbook_idauthor_id)。

理想情况下,我想发出一个查询,其中结果的每一行都有book.titleauthor.name,因此迭代结果我可以轻松打印"I, Partridge" by Alan Partridge

那么我想在这里选择什么? SELECT name FROM authors AND title FROM books WHERE books.id = authors.id或其他......我无法解决这个问题,并希望得到一个提示。

2 个答案:

答案 0 :(得分:1)

您可以尝试使用Inner Join

Select A.name,B.title from TB_authors A inner join TB_books B on A.id = B.id where B.id = 'xxx'

答案 1 :(得分:1)

select b.title, a.name
  from authors a
  join books_authors_link bal
    on a.id = bal.author_id
  join books b
    on b.id = bal.book_id

您只需根据表格之间隐含的关系加入表格。