Junior — Middle
SQL so'rovlarini tuzishda HAVING va WHERE shartlari qanday farq qiladi?
sobes.tech AI
AIdan javob
SQL da WHERE va HAVING shartlari ma'lumotlarni filtrlash uchun xizmat qiladi, ammo ular so'rovni qayta ishlashning turli bosqichlarida qo'llaniladi:
- WHERE satrlarni guruhlashdan oldin filtrlash uchun ishlatiladi. Bu to'plamdagi ma'lumotlarni cheklash uchun ishlatiladi.
- HAVING guruhlarni agregat funktsiyalar (masalan, SUM, COUNT) qo'llangandan so'ng filtrlash uchun ishlatiladi.
Misol:
SELECT bo'lim, COUNT(*) as xodim_soni
FROM xodimlar
WHERE maosh > 50000 -- guruhlashdan oldin maosh bo'yicha filtrlash
GROUP BY bo'lim
HAVING COUNT(*) > 10; -- 10 dan ortiq xodimga ega bo'limlarni filtrlash
Bu yerda avvalo, maoshi 50000 dan yuqori bo'lgan xodimlar tanlanadi (WHERE), so'ng ma'lumotlar bo'limlar bo'yicha guruhlanadi, va faqat 10 dan ortiq xodimga ega bo'limlar HAVING filtri orqali o'tadi.