为什么要从'> ='更改运算符?到'>'导致空白结果?

时间:2015-01-14 22:09:27

标签: sql

我正在学习SQL,从编程的角度来看,我很难理解为什么这个查询的行为方式(来自SQLZOO Q6)

问题:

"找到每个大洲最大的国家(按地区),显示大陆,名称和地区:"

SELECT continent, name, area from world a
WHERE area >= ALL 
(SELECT area from world b WHERE a.continent = b.continent AND area>0)

我得到了上面相当简单的嵌套select语句。

然而,我没有得到的是为什么更改此行导致空白结果:

WHERE area >= ALL - 将其更改为 - WHERE area > ALL

为什么这会给我一个空白的结果?

更新:我使用 MySQL

1 个答案:

答案 0 :(得分:5)

通过选择>,您要求的所有国家/地区都超过同一大洲的所有国家/地区。任何一个国家的面积都不会超过同一大洲所有国家的面积:即使它是一个大陆上最大的国家,它仍然不会超过它自己。