Junior — Middle
SQL-də HAVING və WHERE operatorları arasındakı fərq nədir və hansı hallarda istifadə edilməlidir?
sobes.tech Süni İntellekt
AI-dan cavab
WHERE operatoru, məlumatların qruplaşdırılmasından əvvəl sətirləri filtrləmək üçün istifadə olunur. O, növbəti əməliyyatlarda, məsələn, toplama funksiyalarında iştirak edən sətirləri seçir.
HAVING operatoru artıq qruplaşdırılmış məlumatları filtrləmək üçün tətbiq olunur, yəni GROUP BY icra edildikdən sonra. O, toplama şərtlərinə əsasən qrupları filtrləməyə imkan verir.
Nümunə:
SELECT department, COUNT(*) AS employee_count
FROM employees
WHERE salary > 50000 -- maaşa görə sətirlərin filtrlənməsi
GROUP BY department
HAVING COUNT(*) > 5 -- işçilərin sayına görə qrupların filtrlənməsi
Xülasə:
- WHERE, qruplaşdırmadan əvvəl fərdi qeydləri filtrləyir.
- HAVING, qruplaşdırmadan sonra qrupları filtrləyir.
Şərtlər üçün WHERE istifadə edin, toplama funksiyaları üçün HAVING istifadə edin.