Хорошо, этот (3a; пример проблемы с предоставленным ответом) заставил меня почесать голову:
Би-би-си (название, регион, район, население, ВВП)
3a. Найдите самую большую страну в каждом регионе:
SELECT region, name, population
FROM bbc x
WHERE population >= ALL
(SELECT population
FROM bbc y
WHERE y.region = x.region
AND population > 0)
Я понимаю концепцию 'WHERE y.region = x.region
', когда я думаю об этом с точки зрения того, что механизм БД циклически обрабатывает записи таблицы и сопоставляет каждый x.region с текущим y.region (во вложенном SELECT) ... но wtf делает 'AND population > 0
'? Без этого нет правильного ответа, но я не понимаю, как нет ...