في لغة قواعد البيانات العلائقية (SQL)، ما الفرق الجوهري بين جملة `WHERE` وجملة `HAVING` في استعلامات التجميع؟
In SQL queries, what is the primary difference between the `WHERE` clause and the `HAVING` clause?
- أ. كلاهما يعمل بنفس الطريقة تماماً دون فرق
- ب. `WHERE` تُصفّي الصفوف الفردية قبل التجميع (`GROUP BY`)، بينما `HAVING` تُصفّي المجموعات بعد تطبيق دوال التجميع مثل `COUNT` و`SUM`
- ج. `HAVING` تُستخدم لحذف الجداول فقط
- د. `WHERE` تأتي دائماً بعد `ORDER BY`
💡 عرض الإجابة الصحيحة وخدعة الحل في 10 ثوانٍ ▼
الشرح التفصيلي: لا يمكن استخدام دوال التجميع (`SUM, COUNT, AVG`) داخل شرط `WHERE` مباشرة؛ بل نستخدم `WHERE` لتصفية السجلات الخام قبل التجميع، ونستخدم `HAVING` لتصفية النتائج المجمعة بعد `GROUP BY`.