الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

شرح مفصل للدوال التجميعية في لغة Sql

Featured Replies

بتاريخ:

السلام عليكم .......... :

____________________________ بسم الله الرحمن الرحيم __________________________


الدوال التجميعية



وهي الدوال التي تتعامل مع بيانات اكثر من صف لاخراج قيمة واحدة .... بينما دوال الصف الواحد تتعامل مع بيانات صف واحد في الجدول لاخراج قيمة واحدة ايضا .

1- Sum : - ايجاد مجموع عدد من القيم .
2- Max :- لايجاد اكبر قيمة من بين مجموعة من القيم .
3- Min :- ايجاد اقل قيمة بين مجموعة قيم .
4- Count :- ايجاد عدد القيم او عدد الصفوف .
5- Stddev deviation :- ايجاد الانحراف المعياري .
6- Variance :- ايجاد مقدار التشتت والتباين .
وجميع هذه الدوال تتجاهل قيمة null .

نبدا بالامثلة على هذه الدوال :-

select sum (sal), max(sal), min(sal),avg(sal)
from employ;



حيث قمنا باسترجاع مجموع الرواتب واكبر راتب واقل راتب و متوسط الرواتب من جدول الموظفين .


ان الدالتين max و min تتعاملان مع جميع البيانات اي انها لو استخدمت مع البيانات الحرفية فان النتيجة تكون حسب الترتيب الابجدي : وكما يلي

select max (ename , min(ename)
from employ;


حيث يتم عرض اول اسم واخر اسم من جدول الموضفين في عمود الاسماء ename .

....... الايعاز nvl : وهو ايعاز يستخدم للتعويض عن القيم الفارغة null , حيث قلنا ان الدوال التجميعية تتجاهل القيم الفارغة null اي ... وتستخدم غالبا عندما نريد معرفة المتوسط الحسابي ... لان الوسط الحسابي هو مجموع القيم على عددها ...... لذلك يجب ان نعوض عن القيم الفارغة :

select avg(nvl(comm))
from employ;



حيث قمنا باستدعاء المتوسط لمكافات الموضفين .... وعوضنا عن القيم الفارغة بواسطة nvl >

>>>>>>>>>>>>>>>>>>>> مثال لاستخدام count :-

select count(*),count(comm),count(dept)
from employ;



ان دالة count تسترجع عدد واحد ........ ففي هذا المثال

count (*)



حيث ان هذا الايعاز يقوم باسترجاع عدد الصفوف داخل الجدول ... مثلا يسترجع الرقم 5 .
اما البقية فقمنا باسترجاع عدد الصفوف في الاعمدة المذكورة مثل comm و dept .

ملاحظة :- دالة count تقوم بعد القيم المكررة .

مثال اخر :

select count(*), count(comm)
from employ
where deptno=30;



اي قمنا باسترجاع عدد الموظفين الذين ياخذون عمولة ... واجمالي عدد الموضفين في الادارة رقم 30 .





____________ الايعاز having :- يستخدم بدلا عن where مع الدوال التجميعية ...... حيث لايستخدم where مع الدوال التجميعية ....


مثال ...:-


select sum(sal)
from employ
having avg(sal) > 2000;



اي عندما استخدمنا avg وهو من الدوال التجميعية لم نستخدم where وانما استخدمنا having وهي تعمل نفس عمل where .



........................... اتمنى ان الفكرة قد وصلت .............. تحياتي للجميع ......... ((((((((((((((((((((((((((لاتنسونا من صالح دعائكم ))))))))))))))))))))

بتاريخ:

جزاك الله كل الخير ياباشا

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.