Потому что человек, пишущий запрос, не знает достаточно о написании хороших запросов. Необходимы псевдонимы таблиц. Это связано с тем, что необходимо отличать ссылки на столбцы в (коррелированном) подзапросе от ссылок на столбцы для внешнего запроса.
Однако настоятельно рекомендуется использовать значимые псевдонимы таблиц, а это означает сокращения таблиц. Также следует указать все имена столбцов.
Итак, первый из запросов должен выглядеть примерно так:
SELECT c.Name, c.Continent
FROM Country c
WHERE c.Percentage > 50 AND
c.Area >= (SELECT MAX(c2.Area)
FROM Country c2
WHERE c2.Continent = c.Continent AND
-----------------------^ this is the correlation clause that references columns in both the inner and outer queries
c2.Percentage > 50
)
ORDER BY Name;
Также крайне ошибочно использовать >=
в этом синтаксисе, потому что вы смотрите на максимальное значение.