Featured blog image
120 كلمة 1 دقيقة للقراءة

شرح أنواع SQL Joins خطوة بخطوة مع أمثلة

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

تعتبر الـ Joins من أهم الأدوات في لغة SQL حيث تسمح لنا بدمج البيانات من جداول متعددة مرتبطة ببعضها البعض. باستخدام Joins يمكننا استخراج معلومات أكثر شمولية ودقة دون الحاجة لتكرار البيانات داخل جدول واحد.

 لماذا نستخدم Joins؟ وما هي أنواع الـ SQL Joins

غالباً ما يتم توزيع البيانات بين عدة جداول مترابطة داخل قاعدة البيانات. الـ Joins تساعدنا على الوصول لهذه البيانات المترابطة من خلال استعلام واحد يجمع القيم المشتركة ويعرض النتائج بشكل منظم.


1. INNER JOIN

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


SELECT customers.name, orders.order_date 
FROM customers
INNER JOIN orders 
ON customers.id = orders.customer_id;

2. LEFT JOIN (أو LEFT OUTER JOIN)

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

SELECT customers.name, orders.order_date 
FROM customers
LEFT JOIN orders 
ON customers.id = orders.customer_id;

3. RIGHT JOIN (أو RIGHT OUTER JOIN)

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

SELECT customers.name, orders.order_date 
FROM customers
RIGHT JOIN orders 
ON customers.id = orders.customer_id;

4. FULL JOIN (أو FULL OUTER JOIN)

يجمع بين نتائج الـ LEFT JOIN والـ RIGHT JOIN، مما يعرض جميع الصفوف سواء وُجد تطابق أم لا.

SELECT customers.name, orders.order_date 
FROM customers
FULL OUTER JOIN orders 
ON customers.id = orders.customer_id;

مقارنة بين أنواع الـ Joins

نوع الـ JOIN ما الذي يعرضه؟
INNER JOIN الصفوف المتطابقة فقط بين الجدولين
LEFT JOIN كل صفوف الجدول الأيسر + القيم المتطابقة من الجدول الأيمن (غير المتطابقة تظهر NULL)
RIGHT JOIN كل صفوف الجدول الأيمن + القيم المتطابقة من الجدول الأيسر (غير المتطابقة تظهر NULL)
FULL JOIN كل الصفوف من كلا الجدولين سواء تطابقت أم لا

الخلاصة

يساعدك فهم أنواع الـ Joins على كتابة استعلامات فعّالة تمكّنك من استخراج بيانات دقيقة من قواعد البيانات. اختيار النوع الصحيح يعتمد على طبيعة المعلومات التي ترغب في الحصول عليها: مشتركة فقط (INNER JOIN) أو شاملة من أحد الجداول (LEFT/RIGHT JOIN) أو مطلقة من الجدولين معاً (FULL JOIN).


شارك الآن ؟
تواصل معي