الانتقال إلى المحتوى

مثبت دورة تشمل اهم موضوعات Sql في 19 درس


programmer_85

Recommended Posts

  • الردود 114
  • البداية
  • اخر رد

أكثر المشاركين في هذا الموضوع

  • programmer_85

    41

  • wael topar

    24

  • abduallah alshaibani

    5

  • miash80

    4

على بركة الله .... و نسال الله ان ينفعنا و اباكم بما نتعلم و يعلمنا ما ينفعنا
ان شاء الله انا أود الاشتراك .... واريد المواعيد

بارك الله فيك

رابط هذا التعليق
شارك

مرحبا بكم اخوووواني ..

المواعيد ستحدد لاحقا ان شاء الله

في انتظار الكثير من الردود

رابط هذا التعليق
شارك

الى الان اربعة اشخاص بقي ع الاقل 6 ارجو من الاخوة البقية التسجيل ...
لان الشرح سوف يكون معتمد كثير على مراجع اوراكل ..

رابط هذا التعليق
شارك

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

بالنسبة للمواضيع اتي سوف نتناولها في درس الجوين join هي:
اولا انواع الجوين join:

النوع الاول:
1- non_join والذي يهتم فقط بالتنفيذ وفقا للعلميات operations


النوع الثاني:
1- join والذي يهتم فقط بالتنفيذ وفقا للكلمات المحجوزة keywords


اولا: ماهي انواع non_join :

1- inner join
والذي يشمل نوعان:
1- equi-join
2- non-equi-join

2- outer_join
والذي يشمل نوعان :
1- left_outer_join
2-right_outer_join

3-cartesian_join

4- self_join


هذه هي انواع النوع الاول من الجوين join والذي يدعى باسم non_join
وسوف نتكلم عليها بالتفصيل الممل دعما بالامثلة وكيفية استخدام كل واحد.



اثانيا: ماهي انواع join :

1- natural join
2- cross join
3-join.....using clause
4-join .....on clause

5-outer joins والذي يشمل ثلاثة انواع هي:

1- left _outer join
2-right _outer join
3- full_outer join

هذه هي انواع النوع الثاني من الجوين join
ايضا سوف نتحدث عليها بالتفصيل الممل ..

ملاحظة: عندما ننتهي من درس الجوين join سوف نشرع في الدرس الثاني وهو subquery

ان شاء الله وسوف يطرع المنهج له قبل البدء فيه كما وضحنا ايضا دروس الجوين join....

تم تعديل بواسطة programmer_85
رابط هذا التعليق
شارك

اذا من غدا ان شاء الله سوف نبدا الدورة ...
الساعة 9:30 مساءا بتوقيت مكلة المكرمة
نرجو من الاخوة ان يتابعوا الدرس اول باول ..
حتى يكون هناك ترابط في المواضيع ولايكون هناك فقد لبعض المعلومات
لانه الدرس متسلسل ومترابط ببعضه البعض ..
انتظرونا غدا ان شاء الله مع اول درس .....

رابط هذا التعليق
شارك

اهلا بك اخوووي ...

لكن اين التفاعل منكم ..؟؟ لاارى اي وجود علما اني قد وضعت تمرين في الدرس الماضي

رابط هذا التعليق
شارك


اهلا بك اخوووي ...

لكن اين التفاعل منكم ..؟؟ لاارى اي وجود علما اني قد وضعت تمرين في الدرس الماضي


اعتذر اخي العزيز ولكني لم انتبه للتمرين

select e.deptno,empno,job,ename,sal,dname
from emp e,dept d
where e.deptno=d.deptno
رابط هذا التعليق
شارك

الدرس الثاني



في الدرس السابق تناولنا النوع الاول من انواع inner_non_join وعرفنا كيف يتم عمله وعلى ماذا واخذنا
عليه امثله كثيرة ..
اليوم ان شاء الله في درسنا هذا سوف تناول النوع الثاني من انواع inner_non_join وهو non_equi_join.

ماهو non_equi_join؟؟

هو نفس equi_join في عمله الا انه يتم على العمليات الاخرى من غير المساواه
مثل الاصغر من الاكبر من او and او or او between ....الخ.

لناخذ مثال على ذلك يوضح اكثر ..
اولا سوف ناتي بالجدول الثالث المسمى sal grade لاننا سوف نعرف منه البيانات في هذا االدرس..




GRADE LOSAL HISAL
------- ------- -------
1 700 1200
2 1201 1400
3 1401 2000
4 2001 3000
5 3001 9999




ان جدول salgrade يحتوي على ثلاثة اعمدة وهي grade ,losal,hisal وايضا يحتوي على خمسة صفوف
سوف نعرف في هذا المثال كيفية تطبيق non_equi_join حيث يحتوي هنا على المعامل between والمعامل and ..

select ename,job,sal,grade from emp e ,salgrade s
where sal between losal and hisal;



ماهي الـــ Output من هذا الكيوري qurey :



ENAME JOB SAL GRADE
---------- --------- ------- -------
SMITH CLERK 800 1
JAMES CLERK 950 1
ADAMS CLERK 1100 1
WARD SALESMAN 1250 2
MARTIN SALESMAN 1250 2
MILLER CLERK 1300 2
TURNER SALESMAN 1500 3
ALLEN SALESMAN 1600 3
CLARK MANAGER 2450 4
BLAKE MANAGER 2850 4
JONES MANAGER 2975 4
SCOTT ANALYST 3000 4
FORD ANALYST 3000 4
KING PRESIDENT 5000 5

14 rows selected.



نرى في المخرجات ان الكيوري يحتوي على اربعة اعمدة ثلاثة منها من جدول emp وواحد فقط من جدول salgrade

لناخذ كود الجوين join ونحلله ..

where sal between losal and hisal



كما اشارنا سابقا ان هذان النوعان من الجوين لايختلفان في عملهما الان فقط في العمليات
هنا نرى الجوين ارتبط فقط بالمعاملين هما between و and نلاحظ انه لايوجد مساواه او عامل المساوه لاننا
اذا استخدمن معامل المساواه هنا سوف يصبح الكيوري هو equi_join النوع الاول المذكور في الدرس السابق.

اذا يمكن ان نربط اي معامل في شرط الجوين ماعدا معامل المساواه ..

ناخذ مثال اخر اكثر توضبحا ..

سوف نعرض هنا في المثال الثاني ename,sal,job,deptno,dname,loc,grade لكل الموظفين فكيف سيكون الكيوري ..

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

select ename,job,sal,e.deptno,dname,loc,grade from emp e,dept d
,salgrade s where e.deptno=d.deptno and e.sal between s.losal and s.hisal ;



لناخذ فقط شرط الجوين بين تلك الجداول ومن ثم نحلله .. لان البقية مفهوم ولااشكال في ذلك..

[b]where e.deptno=d.deptno and e.sal between s.losal and s.hisal[/b]



في شرط الجوين نلاحظ هناك شرطين الاول هو equi والثاني هوnon_equi

شرط equi

e.deptno=d.deptno



شرط non_equi

[b]e.sal between s.losal and s.hisal[/b]



هنا ربطنا بين هذان الجوين وهو لااشكال في ذلك وهو شرط عادي ومن ثم قرننا بينهما بالمعامل and حتى يحتقق كلا الشرطان..

المخرجات سوف تكون كالاتي للكيوري السابق



ENAME JOB SAL DEPTNO DNAME LOC GRADE
---------- --------- ------- ------- -------------- ------------- -------
SMITH CLERK 80 20 RESEARCH DALLAS 1
JAMES CLERK 950 30 SALES CHICAGO 1
ADAMS CLERK 1100 20 RESEARCH DALLAS 1
WARD SALESMAN 1250 30 SALES CHICAGO 2
MARTIN SALESMAN 1250 30 SALES CHICAGO 2
MILLER CLERK 1300 10 ACCOUNTING NEW YORK 2
TURNER SALESMAN 1500 30 SALES CHICAGO 3
ALLEN SALESMAN 1600 30 SALES CHICAGO 3
CLARK MANAGER 2450 10 ACCOUNTING NEW YORK 4
BLAKE MANAGER 2850 30 SALES CHICAGO 4
JONES MANAGER 2975 20 RESEARCH DALLAS 4
SCOTT ANALYST 3000 20 RESEARCH DALLAS 4
FORD ANALYST 3000 20 RESEARCH DALLAS 4
KING PRESIDENT 5000 10 ACCOUNTING NEW YORK 5




لناخذ المثال الاخير وهو اكثر توسعا واكثر شروطا ونرى مافيه

قم بعرض empno,job,ename,sal,comm,mgr,deptno,dname,loc,grade للموظفين الذين
ليس لديهم اي comm اي عموله ويكون الراتب فوق 1000

select empno,ename,sal,job,comm,e.deptno,dname,loc,grade from emp e ,dept d,salgrade s
where e.deptno=d.deptno and e.sal between s.losal and s.hisal and comm is null and sal>1000



الكود السابق والكيوري بسيك جدا هو يشبة المثال الثاني الا انه اختلف في اضافة العديد من الشروط ..
والشروط هنا هي شروط الفلترة filters اضافة الى شروط الجوين الاثنان ..

شراطان الجوين هما ...

e.deptno=d.deptno and e.sal between s.losal and s.hisal



شروط الفلترة هي:

comm is null and sal>1000



سوف تكون المخرجات بالشكل الاتي:



EMPNO ENAME SAL JOB COMM DEPTNO DNAME LOC GRADE
----- ---------- ----- --------- ----- ------ -------------- ------------- -----
7876 ADAMS 1100 CLERK 20 RESEARCH DALLAS 1
7934 MILLER 1300 CLERK 10 ACCOUNTING NEW YORK 2
7782 CLARK 2450 MANAGER 10 ACCOUNTING NEW YORK 4
7698 BLAKE 2850 MANAGER 30 SALES CHICAGO 4
7566 JONES 2975 MANAGER 20 RESEARCH DALLAS 4
7788 SCOTT 3000 ANALYST 20 RESEARCH DALLAS 4
7902 FORD 3000 ANALYST 20 RESEARCH DALLAS 4
7839 KING 5000 PRESIDENT 10 ACCOUNTING NEW YORK 5


ارجو ان تكون قد وصلت الفكرة بشكل واضح ومفهوم ..

تمرين:

قم بعرض الاعمدة التالية empno,ename,job,sal ,mgr,deptno,dname,grade من الجداول الثلاثة للموظفين حيثن ان:
الموظفين فقط الذي يعملون في قسم الحسابات والمبيعات اي accounting,sales والذي لديهم عموله وكذا لديهم مدير يشرف عليهم اي الذين
يعملون تحت اشراف مدير (انتبه لهذا النقطة ) وكذا يحتوي اسمهم على حرف A ..

اراكم ان شاء الله في الدرس القادم
رابط هذا التعليق
شارك

اجابة التمرين ياباشا
select empno,ename,job,sal,mgr,e.deptno,dname,grade
from emp e,dept d,salgrade s
where e.deptno=d.deptno and e.sal between s.hisal and s.losal
and dname in ('accounting','sales')
and comm is not null
and empno in(select mgr from emp)
and ename like '%A%';

رابط هذا التعليق
شارك

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

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

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

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل



×
×
  • أضف...

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

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