الانتقال إلى المحتوى الرئيسي

كيفية الانضمام إلى جدول في حد ذاته: دليل مفصل مع أمثلة

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

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

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

مثال 1: جدول بسيط للانضمام الذاتي

اختر a.name, b.name

من الموظفين أ ، الموظفين ب

أين أ. معرف المدير = ب. معرف الموظف;

المثال 2: الانضمام الذاتي الجداول مع شروط إضافية

اختر a.name, b.name

من الموظفين أ ، الموظفين ب

أين أ. معرف المدير = ب. معرف الموظف

و. الراتب > ب. الراتب;

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

  1. مزايا الانضمام الجداول
  2. أنواع الجداول المشتركة
  3. الانضمام الداخلي للجداول
  4. الانضمام الأيسر من الجداول
  5. المفصل الأيمن من الجداول
  6. الانضمام الكامل الجداول
  7. أمثلة على جداول الانضمام
  8. الانضمام الداخلي:
  9. تاريخ اليسار:
  10. الانضمام الصحيح:
  11. الانضمام الكامل:
  12. سؤال وجواب
  13. كيفية الانضمام إلى طاولة لنفسها?
  14. متى قد يكون من الضروري استخدام الجدول ينضم على نفسه?
  15. هل من الممكن استخدام شروط مختلفة للانضمام إلى الجدول لنفسه?

مزايا الانضمام الجداول

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

ترتبط مزايا جداول الانضمام بالقدرة على دمج المعلومات من جداول مختلفة وإنشاء علاقات جديدة بين البيانات. وفيما يلي المزايا الرئيسية للانضمام الجداول:

  1. توسيع الوظائف: تسمح لك جداول الانضمام بدمج المعلومات من جداول مختلفة ، مما يسمح لك بتوسيع وظائف الاستعلامات والحصول على صورة أكثر اكتمالا للبيانات.
  2. تصفية البيانات: تسمح لك جداول الانضمام بتصفية البيانات بناء على الشروط ، مما يساعدك على تحديد السجلات الصحيحة واستبعاد المعلومات غير الضرورية.
  3. إنشاء علاقات جديدة: من خلال الانضمام إلى الجداول ، يمكنك إنشاء علاقات جديدة بين البيانات ، مما يساعد على إنشاء التبعيات والعلاقات بين السجلات المختلفة.
  4. تحليل البيانات: تسمح لك جداول الانضمام بتحليل البيانات من خلال مقارنة المعلومات من مصادر مختلفة وربطها.
  5. تحسين الأداء: يمكن لصلات الجدول المنفذة بشكل صحيح تحسين أداء الاستعلام وتسريع معالجة البيانات.
  6. باستخدام المصطلحات: تسمح لك جداول الانضمام باستخدام شروط مختلفة لدمج البيانات ، مما يجعل العملية مرنة وقابلة للتكيف مع سيناريوهات مختلفة.

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

أنواع الجداول المشتركة

في سكل ، هناك عدة أنواع من عمليات الانضمام التي تسمح لك بدمج الجداول في ظل ظروف مختلفة. وهنا بعض منهم:

  • الانضمام الداخلي: إرجاع الصفوف التي لها تطابق في كلا الجدولين فقط.
  • الانضمام الأيسر (أو الانضمام الخارجي الأيسر): إرجاع جميع الصفوف من الجدول الأيسر والصفوف المقابلة من الجدول الأيمن. إذا لم تكن هناك صفوف مقابلة في الجدول الأيمن ، فسيتم إدراج قيم فارغة بدلا من القيم من الجدول الأيمن.
  • الانضمام الصحيح (أو الانضمام الخارجي الأيمن): إرجاع كافة الصفوف من الجدول الأيمن والصفوف المقابلة من الجدول الأيسر. إذا لم تكن هناك صفوف مقابلة في الجدول الأيسر ، فسيتم إدراج قيم فارغة بدلا من القيم من الجدول الأيسر.
  • الانضمام الكامل (أو الانضمام الخارجي الكامل): إرجاع جميع الصفوف من كلا الجدولين. إذا لم تكن هناك صفوف مقابلة ، فسيتم إدراج قيم فارغة.
  • عبر الانضمام: إرجاع المنتج الديكارتي للصفوف من كلا الجدولين ، أي أنه سيتم دمج كل صف من الجدول الأول مع جميع الصفوف من الجدول الثاني.

لتنفيذ الجدول ينضم في سكل ، يتم استخدام التعبير الانضمام ، وكذلك الكلمات الرئيسية التي تشير إلى نوع الانضمام: الداخلية ، اليسار ، اليمين ، كامل أو الصليب. على سبيل المثال:

اختر *

من الجدول 1

جدول الانضمام الداخلي2

على الطاولة 1.العمود = الجدول2.العمود;

في هذا المثال ، يتم دمج الجدولين 1 والجدول 2 وفقا للشرط: يجب أن تكون قيم عمود العمود في كلا الجدولين متساوية.

باستخدام أنواع مختلفة من الصلات ، يمكنك الحصول على المرونة والتنوع في العمل مع البيانات من جداول مختلفة مجتمعة في ظل ظروف مختلفة.

الانضمام الداخلي للجداول

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

لاستخدام الربط الداخلي للجدول ، اتبع الخطوات التالية:

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

مثال على استعلام سكل لتنفيذ الانضمام الداخلي للجداول كما يلي:

حدد الطلبات.أورديريد ، العملاء.اسم العميل

من أوامر

الانضمام الداخلي للعملاء

بناء على أوامر.كوستوميريد = العملاء.كوستوميريد;

في هذا المثال ، ونحن الجمع بين جدولين أوامر والعملاء من قبل العمود كوستوميريد. ستكون نتيجة الاستعلام عبارة عن جدول يحتوي على أعمدة أورديريد وكوستوميرنام.

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

الجدول الداخلي الانضمام هي واحدة من الأدوات الأكثر فائدة في سكل لدمج البيانات من جداول مختلفة. يسمح لك بتحليل البيانات بشكل فعال واستخراج المعلومات الضرورية.

الانضمام الأيسر من الجداول

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

لتنفيذ الانضمام الأيسر لجدول ، يجب عليك استخدام عامل الانضمام الذي يحدد نوع الانضمام (الانضمام الأيسر) وشروط الانضمام إلى الجداول (تشغيل).

مثال على بناء الجملة من الانضمام الأيسر من الجداول في سكل:

حدد * من الجدول 1 إلى اليسار انضم إلى الجدول 2 على الجدول 1.العمود = الجدول2.العمود;

عند استخدام الوصلة اليسرى للجدول ، من الملائم اتباع الترتيب التالي:

  1. حدد اسم الجدول الأول (الجدول الأيسر) الذي سيتم تنفيذ الصلة منه.
  2. حدد نوع المفصل (الانضمام الأيسر).
  3. حدد اسم الجدول الثاني (الجدول الأيمن).
  4. حدد شرط الانضمام إلى الجداول (تشغيل).

مثال على استخدام المفصل الأيسر:

حدد العملاء.معرف العميل ، الطلبات.رقم الطلب من العملاء الذين تركوا أوامر الانضمام على العملاء.معرف العميل = الطلبات.معرف العميل;

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

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

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

المفصل الأيمن من الجداول

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

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

مثال على استخدام الحق

مشترك: اختر *

من الجدول 1

RIGHT JOIN Таблица2

ON Таблица1.Колонка = Таблица2.Колонка

В этом примере таблица Таблица1 будет правой таблицей, а Таблица2 — левой. Результирующая таблица будет содержать все строки из Таблицы2 и только совпадающие строки из Таблицы1.

يعد استخدام الصلة الصحيحة مفيدا عندما تحتاج إلى الحصول على جميع الصفوف من جدول واحد ، حتى إذا كان الجدول الثاني لا يحتوي على القيم المقابلة. يمكن أن يكون هذا مفيدا عند تحليل البيانات لرؤية الصورة الكاملة وعدم تفويت أي بيانات.

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

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

الانضمام الكامل الجداول

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

لإجراء انضمام كامل للجدول على نفسك ، يمكنك استخدام مشغل الاتحاد. التالي هو استعلام سبيل المثال سكل الذي يوضح الربط الكامل:

اختر *

من الجدول 1

جدول الانضمام الخارجي الكامل 2 على الجدول1.العمود = الجدول2.العمود;

في هذا المثال ، نقوم بدمج الجدول 1 مع الجدول 2 بقيمة العمود "العمود". ستكون النتيجة قائمة بجميع الصفوف من كلا الجدولين ، وسيتم استبدال القيم المفقودة بالقيمة الفارغة.

عند إجراء ربط كامل لجدول على نفسه ، من الضروري استخدام الأسماء المستعارة للجداول بحيث يمكن تحديدها في الاستعلام. هنا مثال على استعلام يوضح الانضمام الكامل للجدول لنفسه:

اختر *

من الجدول 1 كما تي 1

جدول الانضمام الخارجي الكامل 1 مثل ر2 على ر1.العمود = ر2.العمود;

في هذا المثال ، نقوم بدمج الجدول 1 مع أنفسنا بقيمة العمود"العمود". ستكون النتيجة قائمة بجميع الصفوف من الجدول 1 ، مع استبدال القيم المفقودة بالقيمة الفارغة.

يمكن أن يكون ربط الجدول الكامل أداة مفيدة لتحليل البيانات ، خاصة عند العمل بكميات كبيرة من المعلومات أو عندما يكون من الضروري دمج البيانات من مصادر متعددة.

أمثلة على جداول الانضمام

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

الانضمام الداخلي:

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

اختر users.name ، أوامر.رقم الطلب

من المستخدمين

أوامر الانضمام الداخلية على users.id = أوامر.معرف المستخدم;

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

تاريخ اليسار:

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

اختر users.name ، أوامر.رقم الطلب

من المستخدمين

أوامر الانضمام اليسرى على users.id = أوامر.معرف المستخدم;

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

الانضمام الصحيح:

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

اختر users.name ، أوامر.رقم الطلب

من المستخدمين

الحق في الانضمام أوامر على users.id = أوامر.معرف المستخدم;

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

الانضمام الكامل:

الانضمام الكامل بإرجاع كافة الصفوف من كلا الجدولين. Если в одной из таблиц нет соответствующих строк, то вместо значений полей будет NULL. Пример с таблицами «users» и «orders» с использованием FULL JOIN:

SELECT users.name, orders.order_number

FROM users

FULL JOIN orders ON users.id = orders.user_id;

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

سؤال وجواب

كيفية الانضمام إلى طاولة لنفسها?

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

متى قد يكون من الضروري استخدام الجدول ينضم على نفسه?

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

هل من الممكن استخدام شروط مختلفة للانضمام إلى الجدول لنفسه?

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