gpt4 book ai didi

mysql - 如何对连接表执行查询?

转载 作者:行者123 更新时间:2023-11-29 11:46:54 25 4
gpt4 key购买 nike

我的数据库中有一个名为 book_collection 的表,其中包含列:publisherID、title、familyID、bookID另一个名为 book_authors 的表,其中包含以下列:bookID 和authorID。

我想将表格连接在一起,然后找到所有“书”具有相同的publisherID和标题。

所以我最初是这样开始的:

SELECT book_collection.publisherId, book_collection.title,<br/>
book_authors.authorId
FROM book_collection
INNER JOIN book_authors
ON book_collection.bookId = book_authors.bookId

这将连接表格,但是我现在遇到的问题我如何对此表执行任何其他查询。如果我复制此代码并在每个 SELECT * FROM ... 之后粘贴它, 它给我收到一个错误,说“每个派生表都需要一个别名”?

我不是最擅长 SQL,所以请跟我一起轻松一下。任何帮助将不胜感激!

最佳答案

Every derived table needs an alias

此错误意味着您需要在列中使用表别名和SELECT STATMENT

如何使用别名:

如果您不想使用自定义别名,可以使用表名作为别名。

示例:

SELECT collection.* ,authors.* ,book_authors.* FROM ....

其他解决方案:

您还可以使用自定义别名,例如:

SELECT c.* ,a.* , b.*     FROM collection c    INNER JOIN authors a ON a.columnid = c.columnid ....

此错误的基本原因:

这个错误的原因是因为你在不同的表中有相同的列名,而MYSQL不知道哪一列是哪张表的引用。在此类查询中使用别名总是有帮助的。

旁注:

我建议您使用自定义别名,方便多次编写。基本上创建别名是为了使列名更具可读性。

了解更多基本信息SQL ALIASES

关于mysql - 如何对连接表执行查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34774041/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com