Middle
Kā atšķiras WHERE no HAVING?
sobes.tech AI
Atbilde no AI
SQL valodā operators WHERE tiek izmantots, lai filtrētu rindas pirms grupēšanas, tas ir, tas ierobežo datu kopumu, kas piedalīsies vaicājumā.
HAVING tiek izmantots jau grupētiem datiem, tas ir, pēc agregācijas funkciju un grupēšanas izpildes.
Piemērs:
SELECT department, COUNT(*) as employee_count
FROM employees
WHERE salary > 50000 -- filtrējam darbiniekus ar algu virs 50000
GROUP BY department
HAVING COUNT(*) > 10 -- izvēlamies nodaļas ar vairāk nekā 10 šādiem darbiniekiem
Šeit vispirms WHERE filtrē rindas ar algu virs 50000, tad dati tiek grupēti pēc nodaļām, un HAVING filtrē grupas pēc darbinieku skaita.