MYSQL嵌套内连接查询

标签 mysql sql join select inner-join

我想创建一个嵌套查询,它在外部从名为“Books”的表获取标题和价格,同时在查询内部有一个嵌套,获取该特定书籍的作者的名字和姓氏。我只是对内部连接以及它们需要放置的位置有点困惑。这是我能得到的最接近的结果,但这只是打印每本书的每个作者。

select Title, AuthorFirst, AuthorLast,Price from Book
JOIN
(select AuthorLast,AuthorFirst from Author 
INNER JOIN Wrote on Author.AuthorNum = Wrote.AuthorNum 
INNER JOIN Book on Wrote.BookCode = Book.BookCode group by title desc)Auth;

这连接了我需要的表,但它打印了数据库中的每一位作者和数据库中的每本书。我认为这与我的内部联接不够具体有关。

最佳答案

group by 子句是错误的,您应该将其删除。一旦执行此操作,就无需嵌套 join - 您可以在同一查询中拥有多个联接:

SELECT     Title, AuthorFirst, AuthorLast, Price
FROM       Book
INNER JOIN Wrote ON Author.AuthorNum = Wrote.AuthorNum 
INNER JOIN Book ON Wrote.BookCode = Book.BookCode

关于MYSQL嵌套内连接查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53607058/

相关文章:

php - mysql 默认值 NULL "unchageble"- 这可能吗?

php - 通过 CSV 将客户数据库导入 RDS (MySQL)

JavaScript 正则表达式在 SQL 插入中获取单引号内的多个单引号

php - mySQL COUNT 与两个表上的 JOIN

mysql - 条件(哪里)mysql

c# - 仅显示任何日期尚未预订的空闲时段

mysql - findById() 的 for 循环内迭代后响应不正确

python - Python 中的异常问题

python - 设计 SQL 数据库时,一对一关系是否意味着不必要的表?

mysql - 在MySQL中编写关于BEFORE UPDATE的触发器