Sobes.tech
Junior — Middle

SQL'da HAVING operatorining vazifasi nima va u WHERE dan qanday farq qiladi?

sobes.tech AI

AIdan javob

SQL'da HAVING ifodasi, GROUP BY yordamida ma'lumotlarni guruhlashdan keyin natijalarni filtrlash uchun ishlatiladi. U yig'ilgan ma'lumotlar uchun shartlarni belgilash imkonini beradi.

WHERE bilan farqi:

  • WHERE satrlarni guruhlashdan oldin filtrlash uchun, alohida yozuvlar bilan ishlaydi.
  • HAVING guruhlarni yig'ishdan keyin filtrlash uchun.

Misol:

SELECT bo'lim, COUNT(*) AS xodim_soni
FROM xodimlar
GROUP BY bo'lim
HAVING COUNT(*) > 10;

Bu yerda, COUNT(*) bo'yicha filtrlash uchun WHERE ishlatilmaydi, chunki bu yig'ish funksiyasi, HAVING esa faqat 10 dan ortiq xodimga ega bo'limlarni tanlash imkonini beradi.