使用中间表从另一个表获取信息

AL-*_*ami 3 php mysql sql-server

这里我有三张桌子authorsbooks_has_authors并且books

Books_has_author是一个中间表,仅包含其他两个表的主键。我正在尝试编写一个 sql 查询,它将返回特定作者写的所有书籍名称。我对关系数据库概念以及为关系数据库编写查询很陌生。我知道一些join查询,但我真的很困惑如何使用它们通过中间表获取信息。任何帮助将不胜感激 !:)

在此输入图像描述

zoo*_*opo 5

您只需要添加一个额外的 JOIN,如下所示:

SELECT b.book_id, b.book_name, a.author_id, a.author_name
FROM books b
JOIN books_has_author ba ON ba.books_book_id = b.book_id
JOIN author a ON ba.author_author_id = a.author_id
WHERE a.author_id = xxx
Run Code Online (Sandbox Code Playgroud)

  • 它只是表名的别名。你并不真的需要它,但这样你就可以少写一点;) (2认同)