Download presentation
Presentation is loading. Please wait.
Published byHengki Kartawijaya Modified over 6 years ago
1
Joining Tables ضم الجداول وإستخراج مناظر views منها الهدف : 1- استخراج المعلومات من جدولين أو اكثر بالإستفادة من الرابط بينهما وبإستخدام SQL 2- شروط قواعد ضم الجدول 3- تمرين الموضوع : تحتاج في كثير من الاحيان إلي استرجاع بيانات مخزنة في جدولين أو اكثر بإستفسار واحد.
2
Joining Tables ضم الجداول وإستخراج مناظر views منها مثال :- من مثال الشركة نريد الحصول علي تقرير به رقم الموظف واسم الموظف واسم القسم الذي يعمل به وذلك لكل الموظفين المسجلين Q 18 :- Select SSN, Fname , Lname , Dname From Employee, Department Where DNO = Dnumber; Department Employee
3
تضم جملة Select السابقة الأعمدة من جدول الموظفين Employee وجدول الاقسام Department بإستخدام العمود المشترك الرابط بين الجدولين و Dnumber في جدول الاقسام ويقيد الشرط المذكور بعد Where أنه سيتم إختيار فقط الأسطر التي يتطابق فيها الشرط في الجدولين.
4
O / p of Q 18 SSN Fname Lname Dname 123456789 John Smith Research
Franklin Wong Alicia Zelaya administration Jennifer Wallace Ramesh Narayan Joyce English Ahmad Jabbar James Borg Headquarters
5
Q 19 :- Select SSN, Fname , Lname , Dname From Employee, Department Where DNO = Dnumber AND Dname =‘administration’; O / p of Q 19 SSN Fname Lname Dname Alicia Zelaya administration Jennifer Wallace Ahmad Jabbar
6
استخدامات ضم الجداول : للحصول علي بيانات من حقول سجلات الجدولين وضمها معاً مثل المثال السابق . الحصول علي بيانات موجودة بجدول واحد إعتماداً علي شرط يطبق علي عمود بالجدول الأخر مثل المثال التالي Q
7
من مثال الشركة اكتب جملة Select للحصول علي أسماء الموظفين الذين يعملون بمشاريع
Q 20 :- Select Distinct (Fname , Lname ) From Employee, Worksـــ on Where SSN = ESSN; O / p of Q 20 Fname Lname John Smith Franklin Wong Alicia Zelaya Jennifer Wallace Ramesh Narayan Joyce English Ahmad Jabbar James Borg ملحوظة نلاحظ في الامثلة السابقة ان العمود في أحد جدولي الربط يمثل مفتاح رئيسي PK بينما العمود في الجدول الاخر يمثل مفتاح أجنبي Foreign key
8
Department.sex Employee.sex
قواعد ضم الجدول لا يزيد عدد الجداول في جملة Select الواحدة نظرياً عن 15 جدول ولكن عملياً تشير وثائق IBM إلي استخدام سبعة جداول كحد اقصي وبصورة عملية اكثر يوصي بعدم إستخدام اكثر من أربعة جداول في جملة Select الواحدة وخاصة مع الجداول ذات الحجم المتوسط أو الكبير (من إلي سجل لكل جدول ). في حالة إستخدام عمودين لهما نفس الإسم وهما من جدولين مختلفين يتم إستخدام إسم الجدول مع إسم العمود للتمميز بينهما مثل : Department.sex Employee.sex 3. يجب أن يكون نوع حقول الأعمدة المستخدمة لربط الجداول من نفس النوع (حروف أو أعداد صحيحة أو اعداد حقيقية.....(
9
where SSN=ESSN and hours>20.0;
4. القيم Null الموجودة في الأعمدة بالجدولين لا تتحقق شرط الضم أبداً 5. عادة يتم شرط الضم بأستخدام العامل (=) ولكن من الممكن إستخدام عوامل أخري مثل (>، <، ) لتحقيق شرط الضم 6. يمكن للشروط التي بعد كلمة Where أن تشمل علي عدة شروط أخري بالإضافة إلي شرط الضم مثل : where SSN=ESSN and hours>20.0;
10
مثال 1 : يوضح المثال السابق إستخدام الربط بين جدولين بدون إستخدام شروط إضافية ويكون الشكل العام لجملة Select هو : Select <colm1,colum2,……..> From <table1,table2,……….> Where <Join condition> ; راجع :- Q 18 Q 21 :- ضم جدول Employee وجدول Department من خلال قيم DNO وإظهار كل أعمدة وسجلات الجدولين.
11
Q 21 :- Select * From Employee, Department Where DNO = Dnumber;
12
O / p of Q 21 Employee DNO Super SSN salary SEX ADDRESS BDATE Lname
Employee DNO Super SSN salary SEX ADDRESS BDATE Lname MINIT Fname SSN 5 30000 M 731 fondren,Houton,tx Smith B John 40000 638 voss,houstong,tx Wong T Franklin 4 25000 F 3321 castle,spring,tx Zelaya J Alicia 43000 291 berry,bellair,tx Wallace S Jennifer 38000 975 fire oak,humble,tx Narayan K Ramesh 5631 rice,Houston,tx English A Joyce 980 Dallas,Houston,tx Jabbar V Ahmad 1 Null 55000 450 Stone,Houston,tx Borg E James Department MGRSTARTDATE MGRSSN DNUMBER DNAME 5 Research 4 Administration 1 Headquarters
13
Q 22 :- ضم جدول Employee وجدول Department من خلال قيم DNO وإظهار كل أعمدة وسجلات الجدولين مع ترتيب الجدول الناتج طبقاً لرقم الموظف. Select * From Employee, Department Where DNO = Dnumber Order by SSN;
14
O / p of Q 22 Employee DNO Super SSN salary SEX ADDRESS BDATE Lname
Employee DNO Super SSN salary SEX ADDRESS BDATE Lname MINIT Fname SSN 5 30000 M 731 fondren,Houton,tx Smith B John 40000 638 voss,houstong,tx Wong T Franklin 4 25000 F 3321 castle,spring,tx Zelaya J Alicia 43000 291 berry,bellair,tx Wallace S Jennifer 38000 975 fire oak,humble,tx Narayan K Ramesh 5631 rice,Houston,tx English A Joyce 980 Dallas,Houston,tx Jabbar V Ahmad 1 Null 55000 450 Stone,Houston,tx Borg E James Department MGRSTARTDATE MGRSSN DNUMBER DNAME 5 Research 4 Administration 1 Headquarters
15
Q 23 :- يتضمن هذا المثال إضافة شرط أخر مع شرط ربط الجداول
اكتب جملة Select لإستخراج كافة المعلومات بجدول الموظف مع كافة معلومات من يعول للموظف رقم ” “ الحل :- Select Employee.* , Department.* From Employee, Department Where SSN = ESSN and SSN =‘ ’ Order by SSN;
16
O / p of Q 23
17
Q 24 :- هل يمكنك إستخراج رقم واسم الموظفين اللذين ليس لهم معولين Dependent ؟ اكتب جملة Select تفعل ذلك. Select SSN, Fname , Lname From Employee, Dependent Where
18
O / p of Q 24
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.