تنشئ الصلة جدولًا يمكن استخدامه بمفرده أو مع أحدهما الآخر. لذلك يوصى بفهم هذه الصلات والتمييز بينها لتحديد الصلة المحددة وكذلك ما إذا كان يجب اختيار اليمين أو اليسار في حالات فريدة.
الوجبات السريعة الرئيسية
- تتضمن الصلة اليسرى جميع السجلات من الجدول الأيسر والسجلات المتطابقة من الجدول الأيمن ، وتعبئة القيم الخالية للصفوف غير المتطابقة.
- تتضمن الصلة اليمنى جميع السجلات من الجدول الأيمن والسجلات المتطابقة من الجدول الأيسر ، وملء القيم الخالية للصفوف غير المتطابقة.
- الصلات اليمنى واليسرى هي صور معكوسة لبعضها البعض ويمكن أن تكون قابلة للتبديل بناءً على ترتيب الجدول في الاستعلام.
اليسار الانضمام مقابل حق الانضمام
ترجع الصلة اليسرى جميع الصفوف من الجدول الأيسر والصفوف المتطابقة من الجدول الأيمن ، وإذا لم تكن هناك مطابقات في الجدول الأيمن ، فستحتوي النتيجة على قيم خالية. صلة يمنى ، نفس الصلة مع الصلة اليسرى ، لكنها تعرض جميع الصفوف من الجدول الأيمن والصفوف المتطابقة من الجدول الأيسر.

على الرغم من عدم وجود تطابق على الجانب الأيمن من الجدول ، فإن ملف SQL عملية LEFT الواردة جميع الإدخالات من الجدول الأيسر. هذا يعني أنه عندما تحتوي جملة ON على 0 (صفر) إدخالات على الجانب الأيمن من الجدول ، فإن الصلة ستظل ترجع سجلًا به NULL داخل كل حقل من الجدول الرئيسي.
من ناحية أخرى ، تجد الصلة اليمنى أنه حتى في الجدول الأيسر ، يتلقى SQL RIGHT ويرسل جميع الإدخالات من الجدول الأيمن.
هذا يعني أن الصلة اليمنى تقوم بتسليم كافة البيانات من الجدول الأيمن ، بالإضافة إلى أي قيم مقبولة من الجداول ، أو NULL إذا لم يكن هناك أصل ربط مناسب لهذه العملية.
جدول المقارنة
معلمات المقارنة | انضمام اليسار | الحق في الانضمام |
---|---|---|
الأستعمال | يربط عدة جداول ويوفر جميع السجلات من الجدول الأيسر وكذلك مطابقة الصفوف من اليمين. | ينضم إلى جداول متعددة ويقدم جميع البيانات من الجدول الأيمن بالإضافة إلى الصفوف المطابقة أولاً من الجدول الأيسر. |
تنفيذ الاستعلام | أثناء تنفيذ الاستعلام بما في ذلك الصلة اليسرى ، يتم استلام جميع إدخالات الجداول أولاً ، ثم يتم الحصول على البيانات المطابقة لقيم عمود الجدول الأيمن باستخدام الحلقات المكدسة ، ويتم استبدال القيمة NULL للبيانات الأخرى غير المتطابقة. | أثناء تنفيذ الاستعلام بما في ذلك الصلة اليمنى ، يتم الحصول على جميع بيانات الجدول الأيمن أولاً ، وبعد ذلك يتم جمع السجلات المتطابقة لقيم عمود الجدول الأيسر باستخدام حلقات مكدسة. |
مجموعة النتائج | ستكون قيمة مجموعة النتائج فارغة أو صفرية إذا لم يتم العثور على بيانات مطابقة في الجدول الأيمن. | ستكون قيمة مجموعة النتائج فارغة أو صفرية إذا لم يتم العثور على بيانات مطابقة في الجدول الأيسر. |
مصطلح مرادف | ترك صلة خارجية | حق الانضمام الخارجي |
بناء الجملة | حدد اسم (أسماء) العمود من الجدول 1 جدول LEFT JOIN 2 تشغيل table1.column_name = table2.column_name ؛ | اختر اسم (أسماء) العمود من عند table1 الانضمام الصحيح table2 ON table1.column_name = table2.column_name; |
ما هو Left Join؟
لدمج البيانات من قاعدتي بيانات اعتمادًا على عمود يحتوي على قيم مطابقة ، نستخدم JOIN في SQL. على سبيل المثال ، إذا كان لديك جدول يحتوي على بيانات العميل (معرّف العميل أولاً لقب، والمعرف ، وما إلى ذلك) ثم جدول آخر يحتوي على بيانات الطلب لوقت معين (معرّف المعاملة ، والوقت ، ومعرف العميل ، ومعرف المنتج ، وما إلى ذلك)
دعنا نلقي نظرة على بناء جملة Left Join لفهم فائدتها بشكل صحيح:
حدد اسم (أسماء) العمود
من الجدول 1
جدول LEFT JOIN 2
تشغيل table1.column_name = table2.column_name
- "تحديد" - ابدأ بتحديد الفئات التي نرغب في عرضها في مجموعة البيانات.
- "من" - أدخل بيانات الجداول ، حيث نرغب في الاحتفاظ بجميع المعلومات.
- "LEFT JOIN" - أدخل بيانات الجدول الثاني المذكور.
- "تشغيل" - استخدم هذه العبارة لتحديد الحقول التي سيتم استخدامها لتوصيل الجداول.
إذا كانت هناك عدة اكتشافات متطابقة ، فسيتم تكرار العمود الموجود في الجدول الأيسر لتضمين جميع البيانات مباشرة من الجدول الأيمن. إذا لم يتم العثور على تطابق ، فإنه يحتفظ بالصف من الجدول الأيسر ثم يقوم بإدراج NULL في الأعمدة ذات الصلة بالجدول الأيمن.
ما هو حق الانضمام؟
لوضعها بصراحة ، فإن عملية الانضمام اليمنى تشبه إلى حد كبير الوصلة اليسرى ، على العكس تمامًا.
الصلات اليمنى تشبه إلى حد بعيد الصلات اليسرى من حيث أنها تسترد جميع الصفوف من الجدول المحدد في عبارة RIGHT JOIN ولكن الصفوف المقابلة فقط من الجدول المحدد في عبارة FROM.
نادرًا ما يتم استخدام RIGHT JOIN نظرًا لأنه يمكن الحصول على محتويات RIGHT JOIN ببساطة عن طريق تبديل تسميات الجدولين المتصلين في LEFT JOIN.
من الجدير بالذكر أنه يمكن أيضًا التعبير عن LEFT JOIN وRIGHT JOIN بـ LEFT OUTER JOIN بالإضافة إلى RIGHT OUTER JOIN.
يتم وصف بناء جملة Right Join بمزيد من التفصيل أدناه. عمليات الوصلة اليمنى واليسرى متطابقة ، لكن بترتيب عكسي:
حدد اسم (أسماء) العمود
من الجدول 1
RIGHT JOIN الجدول 2
تشغيل table1.column_name = table2.column_name
الاختلافات الرئيسية بين الانضمام الأيسر و Right Join
- يتم استخدام عبارة الصلة اليسرى بشكل أكثر شيوعًا فوق عبارة الانضمام اليمنى.
- صيغة الصلة اليسرى هي جميع السجلات المتطابقة + السجلات غير المتطابقة للجدول الأيسر بينما صيغة الصلة اليمنى هي جميع السجلات المتطابقة + السجلات غير المتطابقة في الجدول الأيمن.
- https://www.tutorialspoint.com/sql/sql-left-joins.htm#:~:text=The%20SQL%20LEFT%20JOIN%20returns,matches%20in%20the%20right%20table.&text=This%20means%20that%20a%20left,of%20no%20matching%20join%20predicate.
- https://mode.com/sql-tutorial/sql-right-join/#:~:text=Right%20joins%20are%20similar%20to,names%20in%20a%20LEFT%20JOIN%20.