23- كورس شرح قواعد البيانات MYSQL – MySQL RIGHT JOIN

شرح تفصيلي لـ MySQL RIGHT JOIN

في قواعد البيانات العلائقية، تُستخدم عمليات الربط (JOINs) لدمج الصفوف من جدولين أو أكثر بناءً على علاقة بين الحقول فيها. إحدى أنواع الربط هي RIGHT JOIN، والمعروفة أيضًا بـ RIGHT OUTER JOIN. في هذا المقال، سنستعرض مفهوم RIGHT JOIN في MySQL مع أمثلة توضيحية متعددة.

ما هو RIGHT JOIN؟

تقوم RIGHT JOIN بإرجاع جميع الصفوف من الجدول الأيمن (right table) والصفوف المتطابقة من الجدول الأيسر (left table). إذا لم يكن هناك تطابق بين الجدولين، فإن RIGHT JOIN ستعيد NULL في أعمدة الجدول الأيسر.

الصيغة العامة لـ RIGHT JOIN

SELECT columns
FROM table1
RIGHT JOIN table2
ON table1.column_name = table2.column_name;

– `table1`: الجدول الأيسر في عملية الربط.
– `table2`: الجدول الأيمن في عملية الربط.
– `column_name`: العمود الذي يتم استخدامه لربط الجدولين.

مثال توضيحي

لنفترض أن لدينا جدولين: “الموظفون” (employees) و”الطلبات” (orders).

جدول الموظفين (employees)

| employee_id | employee_name |
|————-|—————|
| 1 | أحمد |
| 2 | سارة |
| 3 | محمد |

جدول الطلبات (orders)

| order_id | employee_id | order_date |
|———-|————-|————|
| 101 | 2 | 2023-01-15 |
| 102 | 3 | 2023-02-20 |
| 103 | 4 | 2023-03-25 |

استخدام RIGHT JOIN

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

SELECT orders.order_id, employees.employee_name, orders.order_date
FROM employees
RIGHT JOIN orders
ON employees.employee_id = orders.employee_id;

النتائج المتوقعة

| order_id | employee_name | order_date |
|———-|—————|————|
| 101 | سارة | 2023-01-15 |
| 102 | محمد | 2023-02-20 |
| 103 | NULL | 2023-03-25 |

شرح النتائج

– الطلب 101 مرتبط بالموظف “سارة”، لذا يظهر اسمها في العمود `employee_name`.
– الطلب 102 مرتبط بالموظف “محمد”، لذا يظهر اسمه في العمود `employee_name`.
– الطلب 103 لا يوجد له موظف مرتبط في جدول الموظفين، لذا يظهر NULL في العمود `employee_name`.

حالات استخدام RIGHT JOIN

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

الخلاصة

توفر RIGHT JOIN طريقة قوية لدمج الجداول في MySQL بحيث تضمن جلب جميع السجلات من الجدول الأيمن [شركة برمجة مصرية] مع البيانات المتطابقة من الجدول الأيسر، مما يتيح للمطورين والمحللين الوصول إلى صورة كاملة للبيانات حتى في حالة غياب بعض العلاقات.