这些列包含world
的单个表格:
continent
,name
,population
等等......
查询是: 有些国家的人口是其邻国(在同一大洲)的三倍以上。给各个国家和大陆。
解决方案是:
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
的原因。
答案 0 :(得分:0)
您有一个相关的子查询。
它确保您保持在同一个大陆(y.continent = x.continent
)内,并且不会将任何国家与自身进行比较(y.name != x.name
)。