Sobes.tech
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.