Sobes.tech
Junior — Middle

SQL sorğuları ilə işləyərkən WHERE və HAVING şərtləri arasındakı fərq nədir?

sobes.tech Süni İntellekt

AI-dan cavab

SQL-də WHEREHAVING şərtləri məlumatları filtrləmək üçün istifadə olunur, lakin onlar sorğunun emalının müxtəlif mərhələlərində tətbiq olunur:

  • WHERE sətirləri qrup və toplama əməliyyatlarından əvvəl filtrləyir. O, sorğuda istifadə olunacaq məlumat dəstini məhdudlaşdırır.
  • HAVING qrupları toplama funksiyaları tətbiq edildikdən sonra filtrləyir (məsələn, SUM, COUNT, AVG). Bu, toplama nəticələrini məhdudlaşdırmaq üçü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 filtrləyir
GROUP BY şöbə
HAVING COUNT(*) > 10;        -- 10-dan çox işçisi olan şöbələri seçir

Burada, WHERE maaşı 50000-dən çox olan işçiləri seçir, və HAVING bu kriteriyaya cavab verən şöbələri filtrləyir.