Sobes.tech
Junior — Middle

SQL so'rovlar bilan ishlashda WHERE va HAVING shartlari o'rtasidagi farq nima?

sobes.tech AI

AIdan javob

SQL'da WHERE va HAVING shartlari ma'lumotlarni filtrlash uchun ishlatiladi, ammo ular so'rovni qayta ishlashning turli bosqichlarida qo'llaniladi:

  • WHERE satrlarni guruhlash va yig'ishdan oldin filtrlash uchun. U so'rovda ishlatiladigan ma'lumotlar to'plamini cheklaydi.
  • HAVING guruhlarni qo'llashdan keyin filtrlash uchun ishlatiladi (masalan, SUM, COUNT, AVG). Bu yig'ish natijalarini cheklash 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 maoshi 50000 dan yuqori bo'lgan xodimlarni tanlaydi, va HAVING shartiga javob beradigan bo'limlarni filtrlash uchun ishlatiladi.