دستور FULL JOIN ردیفهای منطبق را کنار هم قرار میدهد و ردیفهای بدون تطابق هر دو جدول را نیز حفظ میکند. اگر یک ردیف فقط در جدول اول وجود داشته باشد، ستونهای جدول دوم برای آن ردیف NULL میشوند؛ اگر فقط در جدول دوم باشد، وضعیت برعکس خواهد بود.
این عملگر برای مقایسه دو مجموعه داده یا شناسایی مواردی که در یکی از دو منبع وجود دارند کاربرد دارد. فرض کنید دو فهرست مشتری از دو سامانه مختلف دارید و میخواهید هم رکوردهای مشترک و هم رکوردهایی را که فقط در یکی از فهرستها دیده میشوند بررسی کنید. FULL JOIN میتواند نقطه شروع چنین گزارشی باشد.
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
FULL JOIN Orders
ON Customers.CustomerID = Orders.CustomerID;
پشتیبانی از FULL JOIN در همه سامانههای پایگاه داده یکسان نیست؛ بنابراین پیش از اجرای پرسوجو باید مستندات موتور پایگاه داده خود را بررسی کنید. اگر این عملگر در دسترس نباشد، گاهی میتوان نتیجهای مشابه را با ترکیب پرسوجوهای مناسب ساخت، اما روش جایگزین باید با توجه به سامانه و منطق داده طراحی و آزمایش شود.
اطلاعات تکمیلی درباره دستور FULL JOIN به شما کمک میکند خروجی آن را از پیوندهای یکطرفه تشخیص دهید. هنگام تحلیل نتیجه، به NULLها و علت ایجاد آنها توجه کنید؛ NULL در اینجا میتواند به معنی نبود ردیف متناظر باشد، نه الزاماً وجود یک مقدار ذخیرهشده خالی در داده اصلی.