SQL الكلمة الأساسية للانضمام الخارجي الكامل
SQL الكلمة الأساسية للانضمام الخارجي الكامل
تقوم FULL OUTER JOIN
الكلمة الأساسية بإرجاع كافة السجلات عند وجود تطابق في سجلات الجدول الأيسر (جدول 1) أو الأيمن (جدول 2).
نصيحة: FULL OUTER JOIN
وهي
FULL JOIN
نفسها.
بناء جملة الانضمام الخارجي الكامل
SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name
WHERE condition;
ملاحظة: FULL OUTER JOIN
من المحتمل أن ترجع مجموعات نتائج كبيرة جدًا!
قاعدة بيانات تجريبية
سنستخدم في هذا البرنامج التعليمي نموذج قاعدة بيانات Northwind المعروفة.
يوجد أدناه مجموعة مختارة من جدول "العملاء":
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 |
واختيار من جدول "الطلبات":
OrderID | CustomerID | EmployeeID | OrderDate | ShipperID |
---|---|---|---|---|
10308 | 2 | 7 | 1996-09-18 | 3 |
10309 | 37 | 3 | 1996-09-19 | 1 |
10310 | 77 | 8 | 1996-09-20 | 2 |
مثال SQL FULL OUTER JOIN
تحدد عبارة SQL التالية جميع العملاء وجميع الطلبات:
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
FULL OUTER JOIN Orders
ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName;
قد يبدو التحديد من مجموعة النتائج كما يلي:
CustomerName | OrderID |
---|---|
Null | 10309 |
Null | 10310 |
Alfreds Futterkiste | Null |
Ana Trujillo Emparedados y helados | 10308 |
Antonio Moreno Taquería | Null |
ملاحظة: تعرض FULL OUTER JOIN
الكلمة الأساسية جميع السجلات المتطابقة من كلا الجدولين سواء كان الجدول الآخر متطابقًا أم لا. لذلك ، إذا كانت هناك صفوف في "العملاء" لا تحتوي على مطابقات في "الطلبات" ، أو إذا كانت هناك صفوف في "الطلبات" لا تحتوي على مطابقات في "العملاء" ، فسيتم إدراج هذه الصفوف أيضًا.