انضم إلى Three Tables في SQL

Andm Aly Three Tables Fy Sql



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

هذا هو المكان الذي تلعب فيه وظيفة الصلات. في قواعد البيانات العلائقية ، تعد عمليات الصلات واحدة من أكثر العمليات شيوعًا التي تسمح لك بدمج البيانات من جدولين أو أكثر في مجموعة نتائج واحدة.







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



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



ابدء

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





الجدول 1:
بطاقة تعريف | اسم | عمر

الجدول 2:
بطاقة تعريف | مدينة | دولة

Table3:
بطاقة تعريف | مرتب | موضع


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

انضم إلى Three Tables في SQL

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



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

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

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

حدد Table1.name و Table2.city و Table3.salary
من جدول 1
INNER JOIN Table2
تشغيل Table1.id = Table2.id
INNER JOIN Table3
تشغيل Table2.id = Table3.id ؛


دعنا نستكشف الاستعلام السابق خطوة بخطوة:

    1. الأول هو عبارة SELECT التي تسمح لنا بتحديد الأعمدة التي نرغب في تضمينها في مجموعة النتائج. في هذه الحالة ، نحن مهتمون بعمود الاسم من الجدول 1 ، وعمود المدينة من الجدول 2 ، وعمود الراتب من الجدول 3.
    2. باستخدام عبارة FROM ، نحدد الجداول المستهدفة التي نرغب في جلب أعمدة المجموعة منها. في هذه الحالة ، نجلب من الجدول 1.
    3. بعد ذلك يأتي بند INNER JOIN. نستخدم هذا البند للربط بين الجدول 1 والجدول 2. كما نستخدم بند ON لتحديد الشرط الذي يربط بين الجدولين اللذين يكونان ، في هذه الحالة ، هو عمود المعرف.
    4. يسمح لنا INNER JOIN الثاني بضم مجموعة النتائج من الوصلة الأولى مع الجدول 3. وباستخدام جملة ON ، نخبر SQL بأننا نرغب في الانضمام إلى مجموعة النتائج والجدول 3 بناءً على عمود المعرف.
    5. يتم تضمين مجموعة النتائج من جميع الجداول الثلاثة في الأعمدة المحددة.

مثال عملي:

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

ننضم إلى جداول الأفلام والتأجير والمخزون في هذه الحالة. الاستعلام كما يلي:

حدد Rental.rental_id ، Rental.rental_date ، film.title ، المخزون.
من الإيجار
انضم إلى المخزون في Rental.inventory_id = المخزون
الانضمام إلى الفيلم على المخزون .film_id = film.film_id
أين film.title = 'متسابق الغروب' ؛


توضيح:

    1. في هذه الحالة ، نستخدم عبارة SELECT لتحديد أعمدة Rental_id و Rental_date و stock_id من جدول الإيجار.
    2. يربط بند JOIN الأول جدول الإيجار بجدول المخزون باستخدام عمود stock_id.
    3. تضم جملة JOIN الثانية مجموعة النتائج من الوصلة الأولى إلى جدول الفيلم باستخدام العمود film_id.
    4. أخيرًا ، نستخدم جملة WHERE لتصفية مجموعة النتائج فقط لتضمين العنوان الهدف.

الجدول الناتج هو كما يلي:

خاتمة

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