mysql-错误1054:“ from子句”中的未知列“ album_id”

时间:2018-10-18 15:27:22

标签: mysql

mysql> SELECT CONCAT(artist_name, " recorded ", album_name) AS recording -> FROM album INNER JOIN artist USING (artist_id) -> ORDER BY recording;

上面的代码运行成功,但是我试图全面了解这些行。我想知道如果INNER JOIN使用album_id有什么区别,还是必须是artist_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,稍后可能会有一些愚蠢的问题,但我非常感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

这意味着album_id表中不存在album/artist

USING子句的使用类似于ON子句。这用于比较两个表中存在的首选列上的两个表。

如果可以检查,两个表中都存在artist_id,但没有album_id。所以它给你一个错误。

答案 1 :(得分:0)

好吧,我刚刚意识到餐桌艺术家和专辑他们共享一个列artist_id,这就是为什么当他们INNER JOIN时,它必须由artist_id产生。