В чем отличие ключевых слов WHERE от HAVING

Python Junior Без компании
В чем отличие ключевых слов WHERE от HAVING
Ответы
Основное отличие между `WHERE` и `HAVING` в SQL заключается в том, когда они применяются в процессе выполнения запроса: - `WHERE` фильтрует строки **до** группировки (используется с `GROUP BY`). - `HAVING` фильтрует результаты **после** группировки (работает с агрегатными функциями, такими как `SUM`, `COUNT` и т. д.). **Пример:** ``` -- WHERE фильтрует до группировки SELECT department, COUNT(*) FROM employees WHERE salary > 50000 GROUP BY department; -- HAVING фильтрует после группировки SELECT department, COUNT(*) FROM employees GROUP BY department HAVING COUNT(*) > 5; ``` **Ключевые моменты:** - `WHERE` не может использовать агрегатные функции. - `HAVING` применяется только с `GROUP BY` (если нет группировки, обычно используют `WHERE`).