شرح sql بالعربي - الربط باللامساواه والربط الخارجي شرح sql بالعربي - الربط باللامساواه والربط الخارجي - اقرا معي وتعلم على الانترنت

شرح sql بالعربي - الربط باللامساواه والربط الخارجي

شرح sql بالعربي - الربط باللامساواه والربط الخارجي
اخذنا في الدرس السابق الربط بالتساوي يمكنك متابعة الدرس من الرابط التالي


كما يمكنك قراءة بقية الدروس من الروابط التالية :

اليوم بإذن الله نأخذ الربط باللامساواه والربط الخارجي :

اولاً الربط باللامساواه :

في الربط بالمساواه اعتمدنا على استخدام المساواه في الشرط Where ولكن هذا لا يعني اننا لا نستطيع استخدام عمليات المقارنة الاخرى اكبر , اصغر ,وغيرها كما في الصيغة التالية :

Select Table1.Column1, Table2.Column2
From Table1, Table2
Where Table1.Column1 < Table2.Column2;

مثال:

ليكن لدينا جدول اسمة Stores خاص بمعمل اقمشة والذي يحتوي على اسماء المخازن storeName وارقامها storeID  , وجدول اخر اسمة Occupation يحتوي على معلومات المشغولية للمخازن التي تتضمن رقم المخزن stroreID وكمية البضاعة في المخزن quantity ونوعها Type .
لاعادة قائمة بالمخازن الفارغة غير المشغولة نكتب الاستعلام التالي :

Select Stores.storeID, Stores.storeName from Stores, Occupation
Where Stores.storeID <> Occupation.storeID

ثانياً الربط الخارجي :


لنتمكن من فهم الربط الخارجي علينا ان نعود الى فكرة الربط بالتساوي حيث استخدمنا الصيغة Inner Join في هذه الحالة كانت السجلات التي ارجعها الاستعلام هي السجلات التي تحقق شرط الربط الذي يظهر بعد تعبير ON حيث تم اسقاط السجلات غير المتطابقة من جدول النتائج ، اما في حالة الربط الخارجي Outer Join فلا يتم إسقاط السجلات غير المتطابقة ،

الربط الخارجي له ثلاثة انواع :
Left, Right, Full

Left Join :

 لأخذ جميع السجلات من الجدول الاول Table1 وفقط السجلات من الجدول الثاني Table2 التي تتطابق فيها قيمة الحقل Column1 من الجدول Table1 مع قيمة الحقل Column2 من الجدول الثاني نكتب الصيغة التالية :

Select * from Table1 LEFT OUTER JOIN Table2
ON Table1.Column1 = Table2.Column2;

هذا النوع من الربط يرجع لنا  الاتي:
  1. جميع القيم الخاصة بالحقل التابع للجدول الاول .
  2. جميع القيم المطابقة لها والخاصة بالحقل التابع للجدول الثاني حيث يتم ادراج القيمة NULL في قيم الحقل التابع للجدول الثاني وذلك في السجلات التي لا تكون فيها قيمة حقل الجدول الاول مطابقة لقيمة حقل الجدول الثاني .

كما يكون عدد السجلات المعادة مطابقاً لعدد السجلات التي يعيدها الاستعلام عن قيم حقل الجدول الاول .
مثال
شرح sql بالعربي - الربط باللامساواه والربط الخارجي


Right Join:

لأخذ جميع السجلات من الجدول الثاني Table2 وفقط السجلات من الجدول الاول Table1 التي تتطابق فيها قيمة الحقل Column1 من الجدول Table1 مع قيمة الحقل Column2 من الجدول الثاني نكتب الصيغة التالية :
Select * from Table1 RIGHT OUTER JOIN Table2
ON Table1.Column1 = Table2.Column2;

شرح sql بالعربي - الربط باللامساواه والربط الخارجي

نلاحظ انه تم ادراج القيمة NULL  لقيم الحقل Column2  في السجلات التي لم تكن فيها قيمة الحقل Column2  مطابقة لقيمة الحقل الاول .

Full Join:


جميع السجلات من الجدول الثاني Table2 وجميع السجلات من الجدول الاول Table1
بحيث تتوضع السجلات التي تتطابق فيها قيمة الحقل Column1 من الجدول Table1 مع قيمة الحقل Column2 من الجدول الثاني Table2 في نفس السجل من جدول القيم المعادة نكتب الصيغة التالية :

Select * from Table1 FULL OUTER JOIN Table2
ON Table1.Column1 = Table2.Column2;

مثال :

شرح sql بالعربي - الربط باللامساواه والربط الخارجي


اذن ينتج عن عمليات الربط الخارجي في الحالة العامة، سجلات تحتوي في حقول معينة القيمة NULL بسبب اختلاف عدد السجلات التي نريد ربطها وهذا ما سنوضحة في مثال مناسب لكل نوع من انواع الربط الخارجي .

استخدام Natural Join :

شرح sql بالعربي - الربط باللامساواه والربط الخارجي
 :
شرح sql بالعربي - الربط باللامساواه والربط الخارجي

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


شارك الموضوع
تعليقات
محتوى قد يهمك

.