Junior — Middle
106
Hogyan befolyásolja az SQL-ben a GROUP BY, HAVING és WHERE operátorok végrehajtási sorrendje az eredményt?
Cégeket kérdeztek
Válasz az MI-től
sobes.tech MI
В SQL порядок выполнения операторов влияет на результат следующим образом:
- WHERE — фильтрует строки из исходной таблицы до группировки.
- GROUP BY — группирует отфильтрованные строки по указанным столбцам.
- HAVING — фильтрует уже сгруппированные данные по агрегатным условиям.
Таким образом, сначала выбираются только нужные строки, затем они группируются, и после этого группы могут быть отфильтрованы по агрегатным критериям.
Например:
SELECT department, COUNT(*)
FROM employees
WHERE salary > 50000
GROUP BY department
HAVING COUNT(*) > 5;
Сначала выбираются сотрудники с зарплатой выше 50000, затем они группируются по отделам, и в итоге остаются только те отделы, где сотрудников больше 5.