gpt4 book ai didi

SQLzoo,SELECT 中的 SELECT 教程

转载 作者:行者123 更新时间:2023-12-04 06:52:14 25 4
gpt4 key购买 nike

我目前正在做本教程( http://sqlzoo.net/wiki/SELECT_within_SELECT_Tutorial ),但我无法回答问题 8 :

一些国家的人口是其邻国(同一大陆)的三倍以上。给国家和大陆。

.. 而我当前的查询不会被接受为答案:

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

我究竟做错了什么 ?答案是什么 ?

最佳答案

您的查询的问题在于您没有从内部查询的结果中排除“更大”的国家本身。正确的查询是:

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

请注意内部查询中的最后一个条件,我通过执行 x.name<>y.name 从“y”国家/地区列表中排除“x”国家/地区.如果不这样做,结果中将不会返回任何行。

附言通常使用 id 排除内部查询中实体列表中外部实体的“排除”。字段,但在 sqlzoo 上的表没有 id领域。

关于SQLzoo,SELECT 中的 SELECT 教程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18695912/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com