Sobes.tech
Middle

SQL bo'yicha standart savol: WHERE va HAVING ning farqi nima?

sobes.tech AI

AIdan javob

SQL'da WHERE va HAVING ning asosiy farqi ularning ma'lumotlarni qaysi bosqichda filtrlashidadir:

  • WHERE satrlarni oldin filtrlash uchun ishlatiladi. Asosiy ma'lumotlar to'plamini cheklash uchun qo'llaniladi.
  • HAVING guruhlarni, to'plam funktsiyalari va GROUP BY qo'llangandan so'ng, filtrlash 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 boshlang'ich satrlarni cheklaydi, HAVING esa yakuniy guruhlarni.