Junior — Middle
SQL so'rovlar bilan ishlashda HAVING va WHERE shartlari o'rtasidagi farq nima?
sobes.tech AI
AIdan javob
SQL'da WHERE va HAVING orasidagi asosiy farq:
- WHERE satrlarni guruhlashdan oldin (GROUP BY) filtrlash uchun ishlatiladi. U alohida yozuvlarga qo'llaniladi.
- HAVING guruhlarni guruhlashdan keyin filtrlash uchun ishlatiladi. U agregat funksiyalari (masalan, COUNT, SUM) bo'yicha shartlar uchun ishlatiladi.
Misol:
SELECT bo'lim, COUNT(*) as xodim_soni
FROM xodimlar
WHERE maosh > 50000 -- maoshi 50000 dan yuqori bo'lgan xodimlarni filtrlash
GROUP BY bo'lim
HAVING COUNT(*) > 10 -- 10 dan ortiq xodimga ega bo'limlarni tanlash
Bu yerda WHERE guruhlash uchun satrlarni tanlaydi, HAVING esa allaqachon guruhlangan ma'lumotlarni filtrlash uchun ishlatiladi.