Sobes.tech
Middle

Каква е разликата между WHERE и HAVING?

sobes.tech AI

Отговор от AI

В SQL операторът WHERE се използва за филтриране на редове преди групиране, тоест ограничава набора от данни, които ще участват в заявката.

HAVING се прилага за филтриране на вече групирани данни, тоест след изпълнение на агрегатни функции и групиране.

Пример:

SELECT department, COUNT(*) as employee_count
FROM employees
WHERE salary > 50000  -- филтрираме служители с заплата над 50000
GROUP BY department
HAVING COUNT(*) > 10     -- избираме отдели с повече от 10 такива служители

Тук първо WHERE избира редове с заплата над 50000, след това данните се групират по отдели, и HAVING филтрира групите по брой служители.