Sobes.tech
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.

  • WHERE satrlarni guruhlashdan oldin filtrlash uchun ishlatiladi. Asosiy ma'lumotlar darajasida yozuvlarni tanlash uchun qo'llaniladi.
  • HAVING GROUP BY operatori 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).