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

时间:2018-10-07 22:45:06

标签: mysql inner-join

每当需要进行内部联接时,我必须从多个表中选择列,那么语法就可以正确地与隐式联接一起使用,而没有任何困难。但是,我一直在努力使其与显式内部联接一起使用。

让我用MySQL World Database

中的示例进行说明

使用隐式内部联接进行的示例性查询如下:

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

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

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

2 个答案:

答案 0 :(得分:1)

您可以将隐式连接中的,替换为单词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

答案 1 :(得分:0)

也许会是

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