كلمة 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؟
- ترجع كل السجلات عندما يكون هناك تطابق في الجدول الأيسر أو الأيمن ✅
- ترجع كل السجلات من الجدول الأيسر والسجلات المطابقة من الجدول الأيمن
- ترجع كل السجلات من الجدول الأيمن والسجلات المطابقة من الجدول الأيسر
تعليقات
إرسال تعليق