Вопрос8
Осталось:

Объясните разницу между WHERE и HAVING

Образцовый ответ

Показывать ответ по умолчанию

WHERE

  • Фильтрует строки до группировки данных.
  • Не может использовать агрегатные функции (SUM(), COUNT(), AVG(), и т.д.).
  • Применяется к отдельным записям таблицы.

Пример:

MySQL
SELECT department_id, COUNT(*)
FROM employees
WHERE salary > 50000
GROUP BY department_id;

HAVING

  • Фильтрует группы строк после группировки данных.
  • Может использовать агрегатные функции.
  • Применяется к результатам GROUP BY.

Пример:

MySQL
SELECT department_id, COUNT(*) AS num_employees
FROM employees
GROUP BY department_id
HAVING COUNT(*) > 5;