gpt4 book ai didi

sql - 带有 ALL 运算符的子查询

转载 作者:行者123 更新时间:2023-11-29 12:12:26 26 4
gpt4 key购买 nike

我正在尝试编写一个 SQL(Postgres 引擎)查询来回答以下问题:

哪些国家/地区的 GDP 高于亚洲所有国家/地区? [仅提供名称。](某些国家/地区的 gdp 值可能为空)

下面是一个包含示例数据的简化 SQL 表。

+-------------+-----------+---------+------------+--------------+
| name | continent | area | population | gdp |
+-------------+-----------+---------+------------+--------------+
| Afghanistan | Asia | 652230 | 25500100 | 20343000000 |
| Albania | Europe | 28748 | 2831741 | 12960000000 |
| Algeria | Africa | 2381741 | 37100000 | 188681000000 |
| Andorra | Europe | 468 | 78115 | 3712000000 |
| Angola | Africa | 1246700 | 20609294 | 100990000000 |
+-------------+-----------+---------+------------+--------------+

我写了类似下面的内容,它没有返回任何内容(虽然我知道这不是答案,因为我使用的是在线交互式指南):

SELECT name
FROM world
WHERE gdp > ALL (SELECT gdp from world WHERE continent = 'Asia')
AND continent<>'Asia'

我应该使用什么查询?我是 SQL 的新手。

最佳答案

严格来说,如果您的表格中有一个亚洲国家/地区的 GDP 未知(NULL),则正确答案必须是:

“我们不知道。”

因此,此查询不返回任何行:

SELECT name
FROM world
WHERE gdp > ALL (SELECT gdp from world WHERE continent = 'Asia')
AND continent <> 'Asia';

亚洲 GDP 集合中的 NULL 值使得第一个 WHERE 表达式不可能为 TRUE,因此查询永远不会返回行 - 这是正确的回答。我们知道没有符合要求的国家/地区。您的查询正确

你压榨的变体into a commentmax(gdp) 比较回答了一个稍微不同的问题:

哪些国家/地区的 GDP 超过了亚洲已知的最高 GDP?

关于sql - 带有 ALL 运算符的子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26667528/

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