في هذا المثال يتم استعمال مجموعة دوال على حقل Sal من جدول EMP اكتب هذا الأمر ونفذه تحصل على نتيجة التنفيذ كما بالشكل (5)

في هذا المثال يتم استعمال مجموعة دوال على حقل Sal من جدول EMP اكتب هذا الأمر ونفذه تحصل على نتيجة التنفيذ كما بالشكل (5)

في هذا المثال يتم استعمال مجموعة دوال على حقل sal من جدول emp اكتب هذا الأمر ونفذه تحصل على نتيجة التنفيذ كما بالشكل
في هذا المثال يتم استعمال مجموعة دوال على حقل sal من جدول emp اكتب هذا الأمر ونفذه تحصل على نتيجة التنفيذ كما بالشكل

الشكل (5)

  • الدالة count ()
Select Count (*), from EMP;

يمكن استعمال الدالة Count () بثلاثة أشكال الأول بالعلامة *

ويتم عد جميع السجلات وهذا أبطأ الاختيارات، الصورة الثانية Count (1) وهو عدد الحقل الأول في الجدول، والثالث هو Count () مع اسم الحقل empno.

اكتب الأوامر ونفذها تحصل على الشكل (6).

الشكل (6)

  • الأمر Group BY

يستعمل هذا الأمر لتقسيم سجلات جدول إلى مجموعات فمثلاً لعرض إجمالي مرتبات كل إدارة كلاً على حدة ويتضح ذلك من المثال التالي:

SELECT deptno, AVG (sal)

2 FROM emp

3 GROUP BY deptno;

في هذا المثال يتم استدعاء مجموعة من دوال المجموعات على حقل المرتب Salary وكذلك عرض حقل كود الإدارة DeptNO من جدول الموظفين بعد تقسيم السجلات إلى مجموعات حسب كود الإدارة، وبالتالي يتم عرض كود الإدارة وأمامه مجموع ومتوسط وعدد سجلات هذه الإدارة.

اكتب الأمر ونفذه تحصل على الشكل (6).

ملحوظة هامة:

في حالة استعمال GROUP BY لا يمكن اختيار حقل فردي بدون دالة غير الحقل الذي يتم عمل GROUP BY له

فمثلاً في المثال السابق تم اختيار الحقل EMPNO وهو الحقل الذي تم عمل GROUP BY له، ولكن لا يمكن عرض الحقل EName أو غيره ونحن نختار تجميع سجلات الإدارات حسب كود الإدارة.

لتوضيح هذه الملحوظة انظر المثال التالي:

SQL> SELECT deptno, job, sum (sal)

2 FROM emp

3 GROUP BY deptno;

اكتب هذه الأوامر ونفذه تحصل على رسالة خطأ كما في الشكل (7)

الشكل (7)

تم تنفيذ هذا المثال من خلال الـ SQL Plus الموجودة في Oracle ولتصحيح ذلك اكتب الصيغة التالية:

SQL> SELECT deptno, job, sum (sal)

2 FROM emp

3 GROUP BY deptno;

وعند تنفيذها نحصل على الشكل (8)

الشكل (8)

والخطأ في هذا المثال هو محاولة عرض الوظيفة job في حين يتم التجميع باستعمال الحقل EMPNO

استخدام دوال المجموعات

  • الدوال: SUM (), AVG (), MIN (), MAX ()

 

m2pack.biz