Logo ar.removalsclassifieds.com

الفرق بين الانضمام الأيسر والأيمن (مع الجدول)

جدول المحتويات:

Anonim

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

اليسار الانضمام مقابل حق الانضمام

يتمثل الاختلاف بين الصلة اليسرى والرابط الأيمن في أن دمج الإدخالات غير المتطابقة هو التمييز الأساسي بين هذين النوعين من الصلات. يعالج LEFT JOIN جميع الإدخالات من الجانب الأيسر بالإضافة إلى الصفوف المزدوجة من الجدول الأيمن ، بينما يقوم RIGHT JOIN بتسليم جميع الصفوف من الجانب الأيمن بالإضافة إلى الصفوف غير المتطابقة من اللوحة اليسرى.

على الرغم من عدم وجود تطابق على الجانب الأيمن من الجدول ، فإن عملية SQL LEFT تدخل جميع الإدخالات من الجدول الأيسر. هذا يعني أنه عندما تحتوي جملة ON على 0 (صفر) إدخالات على الجانب الأيمن من الجدول ، فإن الصلة ستظل ترجع سجلًا به NULL داخل كل حقل من الجدول الرئيسي. هذا يعني أن الصلة اليسرى تقوم بتسليم كافة البيانات أولاً من الجدول الأيسر ، بالإضافة إلى أي قيم متطابقة من الجدول الأيمن ، أو NULL في حالة عدم وجود مسند صلة مناسب.

من ناحية أخرى ، تجد الصلة اليمنى أنه حتى في الجدول الأيسر ، يتلقى SQL RIGHT ويرسل جميع الإدخالات من الجدول الأيمن. هذا يعني أنه حتى إذا احتوت جملة ON على 0 (صفر) من الإدخالات في قاعدة البيانات اليسرى ، فإن الصلة ستظل تنتج صفًا بقيمة NULL في كل حقل من الجدول الأيسر تمامًا مثل الصلة اليسرى ولكن ، العكس.

هذا يعني أن الصلة اليمنى تقوم بتسليم كافة البيانات من الجدول الأيمن ، بالإضافة إلى أي قيم مقبولة من الجداول ، أو NULL إذا لم يكن هناك أداة ربط مناسبة لهذه العملية.

جدول المقارنة بين الصلة اليسرى واليمنى

معلمات المقارنة

انضمام اليسار

حق الانضمام

إستعمال

يربط عدة جداول ويوفر جميع السجلات من الجدول الأيسر وكذلك مطابقة الصفوف من اليمين. ينضم إلى جداول متعددة ويقدم جميع البيانات من الجدول الأيمن بالإضافة إلى الصفوف المطابقة أولاً من الجدول الأيسر.
تنفيذ الاستعلام

أثناء تنفيذ الاستعلام بما في ذلك الصلة اليسرى ، يتم استلام جميع إدخالات الجداول أولاً ، ثم يتم الحصول على البيانات المطابقة لقيم عمود الجدول الأيمن باستخدام الحلقات المكدسة ، ويتم استبدال القيمة NULL للبيانات الأخرى غير المتطابقة. أثناء تنفيذ الاستعلام بما في ذلك الصلة اليمنى ، يتم الحصول على جميع بيانات الجدول الأيمن أولاً ، وبعد ذلك يتم جمع السجلات المتطابقة لقيم عمود الجدول الأيسر باستخدام حلقات مكدسة.
مجموعة النتائج

ستكون قيمة مجموعة النتائج فارغة أو صفرية إذا لم يتم العثور على بيانات مطابقة في الجدول الأيمن. ستكون قيمة مجموعة النتائج فارغة أو صفرية إذا لم يتم العثور على بيانات مطابقة في الجدول الأيسر.
مصطلح مرادف

ترك صلة خارجية حق الانضمام الخارجي
بناء الجملة

حدد اسم (أسماء) العمود من الجدول 1 ليفت JOIN table2ON table1.column_name = table2.column_name ؛ حدد اسم (أسماء) العمود من الجدول 1 الانضمام الأيمن إلى الجدول 2 على table1.column_name = table2.column_name ؛

ما هو Left Join؟

لدمج البيانات من قاعدتي بيانات اعتمادًا على عمود يحتوي على قيم مطابقة ، نستخدم JOIN في SQL. على سبيل المثال ، إذا كان لديك جدول يحتوي على بيانات العميل (معرّف العميل ، واللقب الأول ، والمعرف ، وما إلى ذلك) ثم جدول آخر يحتوي على بيانات الطلب لوقت معين (معرّف المعاملة ، والوقت ، ومعرف العميل ، ومعرف المنتج ، إلخ.) ، يمكنك ربط مجموعتي البيانات باستخدام الأعمدة التي تتضمن أرقام هوية العميل. سيوفر لك هذا الأمر ومعلومات العميل لكل عميل ويلعب شرط الانضمام الأيسر دورًا أساسيًا في القيام بهذه العملية.

دعونا نلقي نظرة على بناء جملة Left Join لفهم فائدتها بشكل صحيح:

حدد اسم (أسماء) العمود

من الجدول 1

جدول LEFT JOIN 2

تشغيل table1.column_name = table2.column_name

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

ما هو حق الانضمام؟

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

توفر الصلة اليمنى في SQL جميع المعلومات من صفوف الجدول الصحيحة. يحتوي أيضًا على القيم المؤكدة بدءًا من الجدول الأيسر ؛ ومع ذلك ، إذا تم العثور على أي تطابقات في كلا قاعدتي البيانات ، فإنه يسلم قيمة NULL. الصلات اليمنى تشبه إلى حد بعيد الصلات اليسرى من حيث أنها تسترد جميع الصفوف من الجدول المحدد في عبارة RIGHT JOIN ولكن الصفوف المقابلة فقط من الجدول المحدد في عبارة FROM.

نادرًا ما يتم استخدام RIGHT JOIN نظرًا لأنه يمكن الحصول على محتويات RIGHT JOIN ببساطة عن طريق تبديل تسميات الجدولين المتصلين في LEFT JOIN.

ينشأ التقليد المتعلق باستخدام LEFT JOIN دائمًا لتسهيل فهم الاستعلامات والتحقق منها ، على الرغم من عدم وجود سبب مقنع لتجنب استخدام RIGHT JOIN. من الجدير بالذكر أنه يمكن أيضًا التعبير عن LEFT JOIN و RIGHT JOIN على أنهما LEFT OUTER JOIN وكذلك RIGHT OUTER JOIN.

يتم وصف بناء جملة Right Join بمزيد من التفصيل أدناه. عمليات الوصلة اليمنى واليسرى متطابقة ، لكن بترتيب عكسي:

حدد اسم (أسماء) العمود من الجدول 1 الانضمام الأيمن الجدول 2ON table1.column_name = table2.column_name

الاختلافات الرئيسية بين الانضمام الأيسر و Right Join

استنتاج

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

مراجع

الفرق بين الانضمام الأيسر والأيمن (مع الجدول)