Junior — Middle
SQL sorğuları ilə işləyərkən HAVING və WHERE şərtləri arasındakı fərq nədir?
sobes.tech Süni İntellekt
AI-dan cavab
SQL-də WHERE və HAVING arasındakı əsas fərq:
- WHERE, sətirləri qrupdan əvvəl (GROUP BY) süzgəcdən keçirir. Bu, cədvəlin fərdi qeydlərinə tətbiq olunur.
- HAVING, qrupları qrupdan sonra süzgəcdən keçirir. Bu, toplama funksiyaları (məsələn, COUNT, SUM) üçün şərtlər üçün istifadə olunur.
Nümunə:
SELECT şöbə, COUNT(*) kimi işçi_sayı
FROM işçilər
WHERE maaş > 50000 -- maaşı 50000-dən çox olan işçiləri süzgəcdən keçir
GROUP BY şöbə
HAVING COUNT(*) > 10 -- 10-dan çox işçisi olan şöbələri seçir
Burada WHERE, qruplaşdırma üçün sətirləri seçir, HAVING isə artıq qruplaşdırılmış məlumatları süzgəcdən keçirir.