تساعد MIN وMAX وSUM وAVG في Oracle على تلخيص الرواتب. تتجاهل هذه الدوال القيم NULL، لذلك يجب تفسير المتوسط وفق عدد الرواتب المعروفة لا وفق عدد كل الموظفين.
تستخدم الأمثلة جداول التدريب في درس إنشاء جداول وبيانات تدريب Oracle. نفّذ إعدادها مرة واحدة في مخطط تدريب قبل الاستعلامات، حتى تتطابق أسماء الأعمدة والنتائج.
مثال SQL قابل للنسخ
SELECT MIN(salary) AS min_salary,
MAX(salary) AS max_salary,
SUM(salary) AS total_salary,
AVG(salary) AS avg_salary,
COUNT(salary) AS known_salaries
FROM gc_employees;
SELECT MIN(salary) AS min_salary, MAX(salary) AS max_salary,
SUM(salary) AS total_salary, AVG(salary) AS avg_salary
FROM gc_employees
WHERE job = 'developer';تجميع الجدول كاملًا
أقل راتب معروف 3000 وأعلاه 7000 ومجموع الرواتب 30000 ومتوسطها 5000. عدد الرواتب المعروفة 6، بينما عدد الموظفين 7. لا يُعتبر راتب Mona صفرًا؛ قيمته مجهولة في البيانات، ولهذا لا يدخل في مقام المتوسط.
التصفية حسب الوظيفة
يعرض المثال الثاني ملخص المطورين: الأقل 3000 والأعلى 7000 والمجموع 15000 والمتوسط 5000. تعمل WHERE قبل التجميع فتختار صفوف الوظيفة المطلوبة فقط. أما حساب كل وظيفة منفصلة فيحتاج GROUP BY job كما في الدرس المرتبط.
المجموعة الخالية
إذا لم توجد رواتب معروفة تعيد MIN وMAX وSUM وAVG قيمة NULL، بينما يعيد COUNT صفرًا. استعمال NVL لإظهار صفر بدل الناتج المجهول قرار عرض يجب توضيحه. لا تستبدل كل راتب مجهول بصفر قبل AVG دون أن يكون ذلك هو المعنى المقصود من التقرير.
الصور والفيديو من الشرح السابق
الكود النصي أعلاه هو النسخة المصححة؛ قد تختلف المواد المرئية السابقة في أسماء المتغيرات أو طريقة التشغيل.







