在SQL中,ALL选择器是如何工作的?

在SQL中,ALL选择器是如何工作的?,sql,Sql,我正在做SQL Zoo,并一直坚持这个问题: 按字母顺序列出各大洲和排在第一位的国家的名称 以下是表格的示例: +-------------+-----------+---------+ | name | continent | area | +-------------+-----------+---------+ | Afghanistan | Asia | 652230 | | Albania | Europe | 2831741 | | Al

我正在做SQL Zoo,并一直坚持这个问题:

按字母顺序列出各大洲和排在第一位的国家的名称

以下是表格的示例:

+-------------+-----------+---------+
|    name     | continent |  area   |
+-------------+-----------+---------+
| Afghanistan | Asia      | 652230  |
| Albania     | Europe    | 2831741 |
| Algeria     | Africa    | 28748   |
| ...         | ...       | ...     |
+-------------+-----------+---------+
在这种情况下使用ALL。以下是解决方案:

SELECT continent, name
FROM world x
WHERE name <= ALL (
  SELECT name FROM world y
   WHERE x.continent= y.continent)

这是否意味着要在名称小于匹配大陆中所有值的地方找到名称?

这是否回答了问题

select continent
, min(name) "First Alphabetical"
from world 
group by continent

是的,它就是这么说的。更典型的是,这将在没有ALL的情况下完成,并使用=SELECT MINname.Ok的可能副本,这就是我的想法。我很困惑为什么它没有使用MINname。这对我来说更有意义。这个查询可能适用于SQL Zoo问题,也可能不适用于SQL Zoo问题,但它肯定不能作为这里所问问题的答案。这将是一个有用的评论,但除了一个答案,所以如果你可以编辑这篇文章,请做。