Sobes.tech
Junior

SQLda WHERE va HAVING iboralari orasidagi farq nima?

sobes.tech AI

AIdan javob

WHERE FROM natijalarining satrlarini filtr qilish uchun guruhlashdan oldin qo'llaniladi. HAVING guruhlashdan keyin qo'llaniladi va GROUP BY yordamida shakllantirilgan guruhlarni filtrlaydi.

Misol:

Faraz qilaylik, bizda customer_id, order_date va amount ustunlariga ega orders jadvali bor.

Jami buyurtma summasi 1000 dan oshgan barcha mijozlarni toping:

SELECT customer_id, SUM(amount)
FROM orders
GROUP BY customer_id
HAVING SUM(amount) > 1000;

1000 dan yuqori summali barcha buyurtmalarni toping:

SELECT customer_id, order_date, amount
FROM orders
WHERE amount > 1000;

Taqqoslash jadvali:

Xususiyat WHERE HAVING
Qo'llash Ajratilgan satrlarga guruhlashdan oldin Guruhlangan satrlarga guruhlashdan keyin
Ishlatadi FROM dan ustunlar GROUP BY dan ustunlar va agregat funksiyalar
Ishga tushirish GROUP BY dan oldin GROUP BY dan keyin
Agregat funksiyalar To'g'ridan-to'g'ri ishlatilmaydi Ishlatilishi mumkin