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