آموزش SQL

ارتباط RIGHT JOIN

ارتباط RIGHT JOIN همه رکوردها را از جدول سمت راست یا همان جدول دوم باز می گرداند و اگر جدول متناظری در جدول سمت چپ یا همان جدول اول وجود داشته باشد، آن را نیز در نتیجه قرار می دهد.

نحوه کلی استفاده از دستور RIGHT JOIN

SELECT column_name(s) FROM table1 RIGHT JOIN table2 ON table1.column_name = table2.column_name;

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

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

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

SELECT ProductID, ProductName, CategoryName FROM Categories RIGHT JOIN Products ON Products.CategoryID = Categories.CategoryID; که خروجی آن به شکل زیر می شود:
ProductIDProductNameCategoryName
1مدادنوشت افزار
2خودکارنوشت افزار
3تی شرتپوشاک

چنانکه می بینید دسته "دیجیتال" در خروجی نیامده، چونکه CategoryID متناظری در جدول products برای آن وجود نداشت، یعنی اینکه هیچ محصولی در جدول سمت راست وجود نداشت که دسته بندی "دیجیتال" داشته باشد و خاصیت RIGHT JOIN این است که با رکوردهای جدول سمت چپ کاری ندارد مگر اینکه در جدول سمت راست هم باشند.