Проверяет знание порядка выполнения SQL‑клаузы и использования HAVING.
Нельзя — WHERE работает до агрегирования и не видит агрегатные функции. Для фильтрации по результатам GROUP BY используют HAVING, который применяется после группировки и может использовать агрегаты.
Порядок выполнения:
FROM → 2. WHERE → 3. GROUP BY → 4. HAVING → 5. SELECT → 6. ORDER BY
WHERE:
Фильтрует строки до группировки, не поддерживает агрегаты.
HAVING:
Фильтрует уже сгруппированные строки, поддерживает агрегаты:
SELECT user_id, COUNT(*) AS cnt
FROM orders
GROUP BY user_id
HAVING COUNT(*) > 5;Для пост‑агрегационных условий всегда использовать HAVING.