Mysql(sql)SQLzoo习题之“我們可以在子查詢,參閱外部查詢的數值”如何通过all函数批量输出最大值
world(name, continent, area, population, gdp)
问题: 从world表进行查询,在每一個州中找出最大面積的國家,列出洲份 continent, 國家名字 name 及面積 area。 (有些國家的記錄中,AREA是NULL,沒有填入資料的。)
SELECT continent, name, area FROM world x
WHERE area >= ALL(SELECT area FROM world y
WHERE y.continent=x.continent AND area>0)
以上语句可以从world表中完成上述问题
在本问题中,是子查询中的world 表与主查询world 表的州字段进行匹配,即x.continent(州)与主查询y.continent进行匹配,但其中逻辑不是很能理解:此语句如何通过all函数按照州(continent)输出最大值的?
问逻辑,萌新求指教
sqlzoo习题地址(习题7)