الكلمة المفتاحية LEFT JOIN في SQL

SQL LEFT JOIN

الكلمة المفتاحية LEFT JOIN في SQL

كلمة LEFT JOIN تُستخدم لإرجاع جميع السجلات من الجدول الأيسر (table1)، والسجلات المطابقة من الجدول الأيمن (table2). إذا لم يوجد تطابق، تُرجع النتيجة NULL من جانب الجدول الأيمن. تعتبر LEFT JOIN مفيدة جدًا عند تحليل البيانات التي قد تكون ناقصة في الجدول الثاني.

بناء الجملة (Syntax)

SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name = table2.column_name;

ملاحظة: في بعض قواعد البيانات يُطلق على LEFT JOIN اسم LEFT OUTER JOIN.

مثال من قاعدة بيانات Northwind

جزء من جدول العملاء (Customers):

CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico

جزء من جدول الطلبات (Orders):

OrderID CustomerID EmployeeID OrderDate ShipperID
10308271996-09-183
103093731996-09-191
103107781996-09-202

مثال استعلام LEFT JOIN

الاستعلام التالي سيُرجع جميع العملاء، وأي طلبات مرتبطة بهم إن وجدت:

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID
ORDER BY Customers.CustomerName;

لاحظ أن العملاء الذين لم يقدموا أي طلب سيظهر لديهم NULL في عمود OrderID.

مقارنة LEFT JOIN مع INNER JOIN

- INNER JOIN يُرجع فقط الصفوف التي تحتوي على تطابق في كلا الجدولين.
- LEFT JOIN يُرجع كل الصفوف من الجدول الأيسر حتى إذا لم يكن هناك تطابق في الجدول الأيمن، ويملأ القيم الغير موجودة بـ NULL.

تمرين

ماذا تفعل الكلمة المفتاحية LEFT JOIN في SQL؟

  • ترجع فقط السجلات المطابقة من كلا الجدولين
  • ترجع جميع السجلات من الجدول الأيسر والسجلات المطابقة من الجدول الأيمن ✅
  • ترجع جميع السجلات من الجدول الأيمن والسجلات المطابقة من الجدول الأيسر
  • ترجع جميع السجلات من كلا الجدولين

تعليقات