Sql 需要解释一个问题吗

Sql 需要解释一个问题吗,sql,Sql,原始查询是 WHERE y.continent=x.continent 查询的这一部分返回一组基于大陆的人口,其中人口大于零 y.contraction=x.contraction是表world中的一个连接,您认为这里发生了什么?请解释你的思维过程,也许我们可以指出其中的问题。这个查询具有查询的效果(大部分),因为它可以找到每个大陆上人口最多的国家(?)。根据您的RDBMS,有更有效的方法来编写此查询。 SELECT continent, name, population FROM worl

原始查询是

WHERE y.continent=x.continent
查询的这一部分返回一组基于大陆的人口,其中人口大于零


y.contraction=x.contraction
是表
world

中的一个连接,您认为这里发生了什么?请解释你的思维过程,也许我们可以指出其中的问题。这个查询具有查询的效果(大部分),因为它可以找到每个大陆上人口最多的国家(?)。根据您的RDBMS,有更有效的方法来编写此查询。
SELECT continent, name, population 
FROM world x   
WHERE population >= ALL (SELECT population 
                         FROM world y 
                         WHERE y.continent = x.continent           
                         AND population > 0)
ALL (SELECT population FROM world y WHERE y.continent=x.continent AND population>0)