النافذة العربية للبرمجة

النافذة العربية للبرمجة
 
الرئيسيةالمشاركاتمكتبة الصورس .و .جبحـثالأعضاءالمجموعاتالتسجيلدخول

شاطر | 
 

 الدرس الخامس :الفانكشن في جملة ال Select, ضمن سلسلة دروس كيف تبدأ في تعلم الأوراكل

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل 
كاتب الموضوعرسالة
عبدالهادي الحداد
مدير الموقع
avatar

عدد الرسائل : 483
العمر : 32
الموقع : اليمن الحبيبة
العمل/الترفيه : طالب برمجة
تاريخ التسجيل : 13/06/2008

بطاقة الشخصية
المدير العام / عبدالهادي الحداد:

مُساهمةموضوع: الدرس الخامس :الفانكشن في جملة ال Select, ضمن سلسلة دروس كيف تبدأ في تعلم الأوراكل   الأربعاء يونيو 18, 2008 12:16 pm

بسم الله الرحمن الرحيم
الدرس الخامس
سوف نستعرض في هذا الدرس طرق التعامل مع الفانكشن التي تلزمنا في جملة ال Select
ان شاء الله مع ملاحظة ان كل درس من الدروس السابقة جزء لا يتجزأ عن الآخر لأنه في النهايه سوف نخرج بمشروع مع تقاريرة باذن الله فالموضوع ليس شرح فالشروحات كثيرة والاعضاء بارك الله فيهم لايقصرون من هذه الناحية الهدف هو وضعك على الطريق الصحيح لتبدأ بتطوير نفسك

* GROUP BY وهو مايقصد به بالمجموعات ويستخدم الGROUP BY لتمثيل او تقسيم المعلومات على شكل مجموعات سواء مجموعة واحدة او عدة مجموعات

CODE
SELECT column1, column2, ... column_n, aggregate_function (expression)
FROM tables
WHERE predicates
GROUP BY column1, column2, ... column_n;

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

* Countوهو عبارة عن عدد ويستخدم لارجاع عدد الحقول في الجدول
ويمكن استخدامه بالشكل التالي

CODE
SELECT COUNT(expression)
FROM tables
WHERE predicates;

طبعا ال COUNT يرجع اجمالي لذلك نستطيع ان نضع اسم حقل ليرجع لنا عدد بياناته مثلا او نستطيع ان نرجع عدد بيانات جدول وذلك باستخدام النجمة * كما يلي COUNT(*) لذلك يجب توضيح نقطة انه لو طلب منا استرجاع بيانات عدد الادرات مع اسم الادراة لذلك يجب ان نستخدم معها GROUP BY

CODE
SELECT COUNT(DPT_NO) as "Number of Dept",DPT_NAME FROM DEPARTMENTS
GROUP BY DPT_NAME




لا نستخدم مع COUNT ال GROUP BY في حالة اذا كان نسترجع فقط عدد شيء معين
*SUM وهو عمل ايجاد مجموعة عدد من الارقام

CODE
SELECT SUM(expression )
FROM tables
WHERE predicates;

يمكن ان يستخدم ال SUM مع DISTINCT
مثال

CODE
SELECT SUM(DISTINCT salary) as "Total Salary"
FROM employees
WHERE salary > 25000;

هنا يتم جمع البيانات غير المكررة
ويمكن عمل عمليات اثناء الجمع كطرح او ضرب او قسمة نتيجة على رقم معين من كل حقل كما في المثال التالي

CODE
SELECT SUM(sales*0.10) as "Commission"
FROM order_details;


ويستخدم الSUM مع GROUP BY
مثال

CODE
SELECT department, SUM(sales) as "Total sales"
FROM order_details
GROUP BY department;



*MAX وهو ارجاع اكبر قيمة بين مجموعة من البيانات

CODE
SELECT MAX(expression )
FROM tables
WHERE predicates;


*MIN وهو عكس ال MAX حيث يرجع اقل قيمة بين مجموعة من البيانات

SELECT MIN(expression )
FROM tables
WHERE predicates;
مثال

CODE
SELECT MIN(salary) as "Lowest salary"
FROM employees;

لاحظوا كيف انه وضعنا ال DPT_NAME لأنه عبارة عن رمز فردي اما COUNT(DPT_NO) عبارة عن مجموعة لذلك يستخدم معها ال GROUP BY
وكذلك الحال بالنسبة ال MAX,MIN,SUM


* HAVING ويستخدم لفلترت البانات الناتجه ععن GROUP BY وهو يستخدم معها حيث تستطيع وضع شرط معين من خلالها وهو يستخدم فقط اعمدة ال GROUP BY او اي شيء ينتمي الى مجموعة

القاعده هي

CODE
SELECT column1, column2, ... column_n, aggregate_function (expression)
FROM tables
WHERE predicates
GROUP BY column1, column2, ... column_n
HAVING condition1 ... condition_n;
ويستخدم ايضا مع SUM,MAX,MIN,COUNT
وهذه امثلة على كل واحد
مثال على SUM

CODE
SELECT department, SUM(sales) as "Total sales"
FROM order_details
GROUP BY department
HAVING SUM(sales) > 1000;


CODE

مثال على COUNT
SELECT department, COUNT(*) as "Number of employees"
FROM employees
WHERE salary > 25000
GROUP BY department
HAVING COUNT(*) > 10;
مثال على MIN

CODE
SELECT department, MIN(salary) as "Lowest salary"
FROM employees
GROUP BY department
HAVING MIN(salary) = 35000;
CODE

مثال على MAX
SELECT department, MAX(salary) as "Highest salary"
FROM employees
GROUP BY department
HAVING MAX(salary) < 50000;


نأتي الى استخدام BETWEEN
المقصود بها من الى او بين
وتستغل لوضع مقارنة توضع في جملة الشرط


CODE
SELECT columns
FROM tables
WHERE column1 between value1 and value2
;


مثال

CODE
SELECT *
FROM suppliers
WHERE supplier_id between 5000 and 5500;

ويمكن استخدام ال NOT BETWEEN
والمقصود بها ليس بين من الى
وهو عبارة عن احضار البيانات التي لا تنتمي الى جملة الشرط باستغلال ال NOT BETWEEN

CODE
SELECT *
FROM suppliers
WHERE supplier_id not between 5000 and 5500;

الأسئلة
1- بين بمثال كيف يمكن ان نجمع بيانات غير مكررة باستخدام sum
2-بين عدد الادارات واسم كل ادارة وترتيبها بشكل تصاعدي
3-بين عدد واسم اصغر ادارة
4-بين ما هو الفرق في استخدام between و not between
5-بين عدد الادارات واسم كل ادارة بشرط ان يكون العدد اكبر من 5

انتهت الاسئلة



CODE
انتهى الدرس الخامس ********** منقوووووووووول،،،،،،،،،،،


عدل سابقا من قبل عبد الهادي الحداد في الأربعاء يونيو 18, 2008 12:17 pm عدل 1 مرات (السبب : العنوان)
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو http://awfm.boardlog.com
sas48
عضو جديد
عضو جديد
avatar

عدد الرسائل : 29
تاريخ التسجيل : 02/09/2008

مُساهمةموضوع: رد: الدرس الخامس :الفانكشن في جملة ال Select, ضمن سلسلة دروس كيف تبدأ في تعلم الأوراكل   الإثنين نوفمبر 10, 2008 4:22 pm

مشكوووووووووووووور أخزي عبدالهادي الحداد على هذا الموضوع الرائع







الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
هيلان
عضو جديد
عضو جديد
avatar

عدد الرسائل : 14
تاريخ التسجيل : 02/09/2008

مُساهمةموضوع: رد: الدرس الخامس :الفانكشن في جملة ال Select, ضمن سلسلة دروس كيف تبدأ في تعلم الأوراكل   الإثنين نوفمبر 10, 2008 4:29 pm

مشكوور
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
مهندس صيانة

avatar

عدد الرسائل : 2
تاريخ التسجيل : 09/11/2008

مُساهمةموضوع: رد: الدرس الخامس :الفانكشن في جملة ال Select, ضمن سلسلة دروس كيف تبدأ في تعلم الأوراكل   الإثنين نوفمبر 10, 2008 4:33 pm

cheers مشكوووووور ويعطيك العافية
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
 
الدرس الخامس :الفانكشن في جملة ال Select, ضمن سلسلة دروس كيف تبدأ في تعلم الأوراكل
استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
» الدرس الخامس :الفانكشن في جملة ال Select, ضمن سلسلة دروس كيف تبدأ في تعلم الأوراكل
» تعلم SQL Statement خطوة فخطوة
» مركز selecT

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
النافذة العربية للبرمجة :: قسم قواعد البيانات :: Oracle قسم قواعد البيانات أوراكل-
انتقل الى: