我有一个这样的表(取自sqlzoo.net),
+-------------+-----------+------------+------------+-------------------+
| name | continent | area | population | gdp |
+-------------+-----------+------------+------------+-------------------+
| Afghanistan | Asia | 652230.000 | 25500100 | 20343000000.00000 |
| Albania | Europe | 28748.000 | 2831741 | 12960000000.00000 |
+-------------+-----------+------------+------------+-------------------+
...
查询是,
查找属于所有人口少于 25000000 的大陆的每个国家。显示名称、大陆和人口
我打破了如下查询,
- 查找所有人口少于 25000000 的所有大陆(子查询)
- 显示来自这些大陆的国家(外部查询)的详细信息(名称、大陆和人口) 。
当我尝试编写查询时,我最终会这样,
外部查询似乎很好,
select name,continent,population from world where continent IN
内部查询让我感到困惑。
(select continent from world where population<25000000)
这是不正确的,因为它没有检查一个大陆内的所有人口是否都满足约束(我想检查一个大陆内的所有行,如果所有行都满足,包括IN
列表中的大陆名称)。//我知道我可以在C
// 我如何在 SQL 中做到这一点?
注意:如果有有用的链接,请务必包含它们。解释查询如何执行的见解(如“ for
C 中的循环如何工作 - 分配、增量、检查、循环”这样清晰的内容)将非常有帮助