SQL Zoo中的最后一个查询,SELECT Tutorial

时间:2016-07-10 00:55:09

标签: mysql sql

这些列包含world的单个表格: continentnamepopulation等等......

查询是: 有些国家的人口是其邻国(在同一大洲)的三倍以上。给各个国家和大陆。

解决方案是:

SELECT name, continent FROM world x WHERE
 population > ALL
 (SELECT population*3 FROM world y
 WHERE y.continent = x.continent
 AND y.name != x.name)

我不理解最后一部分y.name != x.name。在这种情况下,我实际上并不能100%获得y.continent = x.continent的原因。

1 个答案:

答案 0 :(得分:0)

您有一个相关的子查询。

它确保您保持在同一个大陆(y.continent = x.continent)内,并且不会将任何国家与自身进行比较(y.name != x.name)。