Sobes.tech
Junior — Middle

SQL sorğularının yaradılmasında HAVING və WHERE şərtləri arasındakı fərq nədir?

sobes.tech Süni İntellekt

AI-dan cavab

SQL-də WHERE və HAVING şərtləri məlumatların filtrələnməsi üçün istifadə olunur, lakin onlar sorğunun emalının müxtəlif mərhələlərində tətbiq edilir:

  • WHERE satırları qruplaşdırmadan əvvəl filtrələyir. Bu, toplanacaq məlumatların məhdudlaşdırılması üçün istifadə olunur.
  • HAVING qrupları toplama funksiyaları (məsələn, SUM, COUNT) tətbiq edildikdən sonra filtrələyir.

Nümunə:

SELECT şöbə, COUNT(*) kimi işçi_sayı
FROM işçilər
WHERE maaş > 50000       -- qruplaşdırmadan əvvəl maaşa görə filtr
GROUP BY şöbə
HAVING COUNT(*) > 10;        -- 10-dan çox işçiyə sahib olan qrupları filtr

Burada əvvəlcə maaşı 50000-dən çox olan işçilər seçilir (WHERE), sonra məlumatlar şöbələrə görə qruplaşdırılır və yalnız 10-dan çox işçiyə sahib şöbələr HAVING filtri ilə keçər.