Junior — Middle
SQL'da HAVING va WHERE operatorlari o'rtasidagi farq nima va qachon foydalanish kerak?
sobes.tech AI
AIdan javob
WHERE operatori satrlarni guruhlashdan oldin filtrlash uchun ishlatiladi. U keyingi operatsiyalarda, masalan, agregat funktsiyalarida qatnashadigan satrlarni tanlaydi.
HAVING operatori allaqachon guruhlangan ma'lumotlarni filtrlash uchun qo'llaniladi, ya'ni GROUP BY bajarilgandan so'ng. U agregat shartlariga ko'ra guruhlarni filtrlash imkonini beradi.
Misol:
SELECT department, COUNT(*) AS employee_count
FROM employees
WHERE salary > 50000 -- maosh bo'yicha satrlarni filtrlash
GROUP BY department
HAVING COUNT(*) > 5 -- xodimlar soniga ko'ra guruhlarni filtrlash
Xulosa:
- WHERE alohida yozuvlarni guruhlashdan oldin filtrlash uchun.
- HAVING guruhlashdan so'ng guruhlarni filtrlash uchun.
Shartlar uchun WHERE, agregat funktsiyalar uchun HAVING foydalaning.