Junior — Middle
SQL so'rovlar bilan ishlashda WHERE va HAVING shartlari o'rtasidagi farq nima?
sobes.tech AI
AIdan javob
WHERE va HAVING — bu SQL shartlari bo'lib, ular ma'lumotlarni qayta ishlashning turli bosqichlarida qo'llaniladi.
WHEREsatrlarni guruhlashdan oldin filtrlash uchun ishlatiladi. Asosiy ma'lumotlar darajasida yozuvlarni tanlash uchun qo'llaniladi.HAVINGGROUP BYoperatori bilan shakllantirilgan guruhlarni filtrlash uchun ishlatiladi. Bu agregatsiyadan so'ng qo'llaniladi.
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 avvalo maoshi 50000 dan yuqori bo'lgan xodimlar tanlanadi (WHERE), so'ng ma'lumotlar bo'limlar bo'yicha guruhlanadi, va keyin faqat xodimlar soni 10 dan ortiq bo'lgan bo'limlar tanlanadi (HAVING).