错误1054:“from子句”中的未知列“album\u id”

f45qwnt8  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(256)

mysql> SELECT CONCAT(artist_name, " recorded ", album_name) AS recording -> FROM album INNER JOIN artist USING (artist_id) -> ORDER BY recording; 上面的代码运行得很成功,但我正在努力全面理解代码行。我想知道如果内部连接使用相册\u id有什么区别,或者它必须是艺术家\u id。所以我尝试了以下方法: -> FROM album INNER JOIN artist USING (album_id); 以及 FROM artist INNER JOIN album USING (album_id); 然后我得到了错误。 ERROR 1054 (42S22): Unknown column 'album_id' in 'from clause' 还有一个问题:“from子句”是什么?
我刚开始玩mysql,以后可能会有愚蠢的问题,但我真的很感谢你的帮助。

lkaoscv7

lkaoscv71#

这意味着 album_id 中不存在 album/artist table。
使用 USING 子句类似于 ON 条款。这用于比较两个表中存在的首选列上的两个表。
如果你能查到, artist_id 两个表中都有,但没有 album_id . 所以它给了你一个错误。

lvjbypge

lvjbypge2#

好吧,我刚刚意识到表艺术家和专辑他们共享一个列,即艺术家id,这就是为什么当他们内部连接,它必须由艺术家id。

相关问题