كلمة SQL FULL OUTER JOIN

SQL FULL OUTER JOIN

كلمة SQL FULL OUTER JOIN

كلمة FULL OUTER JOIN تُستخدم لإرجاع كل السجلات عندما يكون هناك تطابق في الجدول الأيسر (table1) أو الجدول الأيمن (table2). إذا لم يوجد تطابق في أي من الجدولين، سيتم إرجاع NULL في الأعمدة المفقودة.

ملاحظة: FULL OUTER JOIN و FULL JOIN هما نفس الشيء، ويجب الحذر عند استخدامه لأنه قد يُرجع كمية كبيرة من البيانات.

بناء الجملة

SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name
WHERE condition;

قاعدة بيانات التجربة

في هذا الدرس نستخدم قاعدة بيانات 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
10308 2 7 1996-09-18 3
10309 37 3 1996-09-19 1
10310 77 8 1996-09-20 2

مثال على FULL OUTER JOIN

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

مقارنة JOINs المختلفة

  • INNER JOIN: الصفوف التي تتطابق في كلا الجدولين فقط.
  • LEFT JOIN: كل صفوف الجدول الأيسر + الصفوف المطابقة من الجدول الأيمن.
  • RIGHT JOIN: كل صفوف الجدول الأيمن + الصفوف المطابقة من الجدول الأيسر.
  • FULL OUTER JOIN: كل الصفوف من كلا الجدولين، مع وضع NULL عند عدم وجود تطابق.

تمرين

ما الذي تفعله كلمة SQL FULL OUTER JOIN؟

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

تعليقات