آموزش SQL

ارتباط FULL JOIN یا همان FULL OUTER JOIN

ارتباط FULL OUTER JOIN زمانی استفاده می شود که بخواهیم همه رکوردها را از جدول چپ و همه رکوردها را از جدول راست برگرداند، اینگونه که اگر مقدار متناظری در دو جدول بود، مقادیر آن رکورد را روبروی هم قرار می دهد و اگر مقدار متناظری نبود، همان را بر می گرداند و جلوی مقادیر مربوط به جدول دیگر مقدار null می گذارد.

نحوه کلی نوشتن FULL OUTER JOIN

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

برای مثال دو جدول زیر را در نظر بگیرید. جدول اول categories:

CategoryIDCategoryName
1نوشت افزار
2دیجیتال
3پوشاک
جدول products:
ProductIDProductNameCategoryID
1مداد1
2خودکار1
3تی شرت3

خب حالا می خواهیم FULL OUTER JOIN را برای این دو جدول بر اساس ستون مشترکشان که CategoryID می باشد، اجرا کنیم:

SELECT ProductID, ProductName, CategoryName FROM Products FULL OUTER JOIN Categories ON Products.CategoryID = Categories.CategoryID; که خروجی آن به شکل زیر می شود:
ProductIDProductNameCategoryName
1مدادنوشت افزار
2خودکارنوشت افزار
3تی شرتپوشاک
nullnullدیجیتال
چنانکه می بینید در خروجی دسته "دیجیتال" با اینکه هیچ محصولی در جدول products برای آن نیامده نیز در خروجی آمده است با این تفاوت که در ستون های مربوط به جدول products در خروجی مقدار null قرار گرفته است.