اذهب إلى المحتوى
programmer_85

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

Recommended Posts

hussinoracle

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

بارك الله فيك

  • أعجبني 1

شارك هذه المشاركة


رابط المشاركة
شارك
محمدعبدالعزيزمحمود

السلام عليكم ورحمة الله وبركاته
اتمنى الموافقة على مشاركتى معك

شارك هذه المشاركة


رابط المشاركة
شارك
programmer_85

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

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

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

  • أعجبني 1

شارك هذه المشاركة


رابط المشاركة
شارك
ahmedabdelwahed1332

إن شاء الله معك وبالتوفيق إن شاء الله
وربنا يجعله في ميزان حسناتك

شارك هذه المشاركة


رابط المشاركة
شارك
programmer_85

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

  • أعجبني 2

شارك هذه المشاركة


رابط المشاركة
شارك
programmer_85

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

بالنسبة للمواضيع اتي سوف نتناولها في درس الجوين 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
  • أعجبني 4

شارك هذه المشاركة


رابط المشاركة
شارك
programmer_85

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

شارك هذه المشاركة


رابط المشاركة
شارك
Abo_Sama

بارك الله فيك
يسعدنى الإنضمام معكم لو تكرمت
شكراً

شارك هذه المشاركة


رابط المشاركة
شارك
programmer_85

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

شارك هذه المشاركة


رابط المشاركة
شارك
sabri980

كيف ممكن اسجل في الدوره

شارك هذه المشاركة


رابط المشاركة
شارك
future programer

جميل وبارك الله فيك
واحب الانضمام للدوره
وشكرا لكم

شارك هذه المشاركة


رابط المشاركة
شارك
miash80

السلام عليكم ورحمة الله وبركاته

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

  • أعجبني 2

شارك هذه المشاركة


رابط المشاركة
شارك
programmer_85

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

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

  • أعجبني 1

شارك هذه المشاركة


رابط المشاركة
شارك
booon7

انا جديد على قواعد البيانات
وحاب ابدا من sql
وان شاء الله معاكم نستفيد
تسجيل

شارك هذه المشاركة


رابط المشاركة
شارك
miash80

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

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


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

select e.deptno,empno,job,ename,sal,dname
from emp e,dept d
where e.deptno=d.deptno
  • أعجبني 1

شارك هذه المشاركة


رابط المشاركة
شارك
اسامة 1991

مشكور اخي الحبيب .. وجزاك الله كل الخير .......... الدرس مفيد جدا ........ والشرح مبسط ومفهوم .................... تحياتي

شارك هذه المشاركة


رابط المشاركة
شارك
wael topar

اجابة التمرين ياباشا
SELECT EMPNO,JOB,ENAME,SAL,EE.DEPTNO,DNAME
FROM EMP EE,DEPT TT
WHERE EE.DEPTNO=TT.DEPTNO;

  • أعجبني 1

شارك هذه المشاركة


رابط المشاركة
شارك
programmer_85

الدرس الثاني



في الدرس السابق تناولنا النوع الاول من انواع 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 ..

اراكم ان شاء الله في الدرس القادم
  • أعجبني 3

شارك هذه المشاركة


رابط المشاركة
شارك
wael topar

اجابة التمرين ياباشا
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%';

  • أعجبني 1

شارك هذه المشاركة


رابط المشاركة
شارك

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من إضافة تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل؟ سجل دخولك من هنا.

سجل دخولك الان

×
×
  • أضف...

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

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