Sobes.tech
Middle

WHERE va HAVING o'rtasidagi farq nima?

sobes.tech AI

AIdan javob

SQLda WHERE operatori satrlarni guruhlashdan oldin filtrlash uchun ishlatiladi, ya'ni u so'rovda qatnashadigan ma'lumotlar to'plamini cheklaydi.

HAVING esa, allaqachon guruhlangan ma'lumotlarni filtrlash uchun ishlatiladi, ya'ni agregat funksiyalar va guruhlashdan so'ng.

Misol:

SELECT department, COUNT(*) as employee_count
FROM employees
WHERE salary > 50000  -- maoshi 50000 dan yuqori bo'lgan xodimlarni filtrlash
GROUP BY department
HAVING COUNT(*) > 10     -- 10 dan ortiq xodim bo'lgan bo'limlarni tanlash

Bu yerda, avvalo WHERE 50000 dan yuqori maoshli satrlarni tanlaydi, so'ngra ma'lumotlar bo'limlar bo'yicha guruhlanadi va HAVING guruhlarni xodimlar soniga qarab filtrlash uchun ishlatiladi.