فول جوین (Full Join)
«فول جوین (FULL JOIN)» همه ردیف های هر دو جدول را می آورد. سپس در جاهای نامساوی، طرف مقابل تهی می شود. این یعنی هم رکوردهای مشترک، هم رکوردهای تنها را می بینیم.
فول جوین چیست؟
فول جوین از هر دو طرف انتخاب می کند. اگر تطبیق باشد، ادغام می شوند. اگر نباشد، ستون های طرف مقابل تهی می ماند. «FULL OUTER JOIN» و «FULL JOIN» یکسان اند.
سینتکس FULL OUTER JOIN
الگوی کلی را ببین. شرط اتصال را بعد از ON بنویس. مراقب اندازه نتیجه باش؛ ممکن است بزرگ شود.
SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2 ON table1.column_name = table2.column_name
WHERE condition;
نمونه FULL OUTER JOIN
همه مشتری ها و همه سفارش ها را بگیر. در نبود تطبیق، یک سمت تهی می ماند. سپس نتایج را بر اساس نام مشتری مرتب کن.
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
FULL OUTER JOIN Orders ON Customers.CustomerID = Orders.CustomerID
ORDER BY Customers.CustomerName;
نکته: برای مقایسه رفتارها، به جوین ها (Joins) سر بزن. همچنین لفت جوین و رایت جوین را کنار هم ببین.
گام های تمرینی سریع
- کوئری نمونه را اجرا کن و NULLها را بررسی کن.
- ORDER BY را حذف کن و ترتیب را مقایسه کن.
- شرط WHERE اضافه کن و خروجی را محدود کن.
جمع بندی سریع
- فول جوین از هر دو جدول انتخاب می کند.
- ردیف های بی جفت، طرف مقابل را NULL می گذارند.
- FULL و FULL OUTER یکسان اند.
- نتیجه می تواند خیلی بزرگ شود.