MySQL --- 从多个表中选择的显式 INNER JOIN

标签 mysql inner-join

每当我需要进行内部联接时,我必须从多个表中选择列,我已经使语法与隐式联接一起正常工作,没有任何困难。但是,我一直在努力让它与显式内部连接一起工作。

让我用 MySQL World Database 中的一个例子来说明

我的说明性查询使用隐式内部联接,如下所示:

SELECT Name, Language, Percentage
FROM Country, CountryLanguage WHERE Code = CountryCode ;

这按预期工作。我可以从任何一个表中按任何顺序排列列,没有任何问题。

我想要上述查询的显式 INNER JOIN 版本(使用“INNER JOIN”和“ON”)。

最佳答案

您可以简单地将隐式连接中的 , 替换为单词 JOIN:

SELECT Name, Language, Percentage
FROM Country
JOIN CountryLanguage 
WHERE Code = CountryCode

查询将正常工作。您还可以将 WHERE 替换为 ON ,它同样可以正常工作。最后,如果您想明确命名列来自的表(这是首选方法),您将使用:

SELECT c.Name, cl.Language, cl.Percentage
FROM Country c
JOIN CountryLanguage cl
ON c.Code = cl.CountryCode

关于MySQL --- 从多个表中选择的显式 INNER JOIN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52693566/

相关文章:

mysql - 内部连接、计数和分组以获得比率

php - inner join with php 浏览器显示语法错误

mysql - PhpStorm 在正确的 MySQL 查询中显示单词 'DESC' 的错误

mysql - 寻求有关加入查询的帮助

mysql - 选择最大列值为 : Managed to return correct answer but looking for cleaner imlementation 的行

php - MySQL PDO 限制

database - Laravel 不从数据库中检索双值

mysql - UTF-8:在数据库中正确显示,但在 HTML 中不正确,尽管 utf-8 字符集

php - 在 Laravel 5.2 中按 id 显示图像文件

php - 对表中 4 列的数组进行排序,以便按每列的字母顺序读取