繁体   English   中英

有人可以帮助解释此子查询及其工作方式

[英]Can Someone Help Explain this Subquery and How it Works

查找每个大陆上最大的国家(按区域),显示该大陆,名称和区域:

continent as Continent,
name as Name,
area as Area
FROM world x
WHERE area >= ALL(
    SELECT
    area
    FROM world y
    WHERE y.continent = x.continent
    AND area > 0
)

我不明白为什么在这种情况下必须要做y.continent = x.continent。 有人可以解释这里发生了什么吗? SQL初学者谢谢。

这就是所谓的一个相关子查询并返回所有的其中记录continent的匹配continent在“外”查询特定的记录。

我不明白为什么在这种情况下必须要做y.continent = x.continent。

如果您不这样做,它将返回world 所有记录,而不仅仅是continent匹配的记录。

该查询看起来可以大致转换为:

给我所有面积大于或等于同一大陆上所有其他国家的国家

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM