繁体   English   中英

需要帮助了解这些 SQL ZOO 查询的元素

[英]need help understanding elements of these SQL ZOO queries

在这两个 sql 动物园问题中,有这个 where 子句我不明白:

问题一:

“一些国家的人口是所有邻国(在同一大陆)的三倍以上。给国家和大陆。”

回答:

select name, continent
from world x
where population/3 >= ALL(select population from world y where y.continent=x.continent and y.name <> x.name)

问题2:

找出所有国家的人口 <= 25000000 的大陆。然后找出与这些大陆相关的国家的名称。 显示名称、大陆和人口。

回答:

SELECT name, continent, population 
FROM world x 
WHERE 25000000>=ALL (SELECT population FROM world y WHERE x.continent=y.continent AND population>0)

在这两个问题的背景下, y.continent=x.continent是做什么的? 它作为某种加入服务吗? 没有它,查询会失败,但我不完全明白为什么。

格式化您的查询,以便您可以更轻松地阅读并了解正在发生的事情。

select name, 
       continent 
from world x 
where population / 3 >= ALL(select population 
                            from world y 
                            where y.continent=x.continent 
                            and y.name <> x.name)

你的问题是

“一些国家的人口是所有邻国(在同一大陆)的三倍以上。给国家和大陆。”

你必须在这里做两件事。 你必须得到所有的人口并除以三,然后找到所有等于或大于的人口。 那些将是流行音乐的三倍。

x.continent = y.continent 确保您只比较同一大陆上的那些。

暂无
暂无

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

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