Таблица products содержит цены 100, 200, 300, 400 и 500. Что верно для запроса?
SELECT COUNT(*)FROM productsWHERE price > (SELECT AVG(price) FROM products);
Подзапрос вернёт пять цен, поэтому сравнение price > (...) завершится ошибкой
Подзапрос вернёт 300, внешний запрос посчитает цены 400 и 500 и вернёт 2
Подзапрос будет вычислять среднее отдельно для каждой строки, поэтому запрос вернёт 0
Подзапрос вернёт 1500, внешний запрос не найдёт большей цены и вернёт 0