Right Join در SQL Server
RIGHT JOIN برعکس LEFT JOIN است. کویری RIGHT JOIN همه رکوردها را از جدول سمت راست و رکوردهای منطبق را از جدول سمت چپ برمی گرداند.
در اینجا، جدول سمت راست جدولی است که در سمت راست یا بعد از عبارت "RIGHT JOIN" در کویری آمده است و جدول سمت چپ جدولی است که در سمت چپ یا قبل از عبارت "RIGHT JOIN" آمده است.
RIGHT JOIN برای تمام رکوردهای غیر منطبق از جدول سمت چپ، NULL را برمی گرداند. در برخی پایگاه های داده به آن RIGHT OUTER JOIN می گویند.
سینتکس آن به صورت زیر است.
در سینتکس بالا table2 جدول سمت راست و table1 جدول سمت چپ است.
برای تفهیم بیشتر، از جداول Employee و Department زیر در همه مثال ها استفاده خواهیم کرد.
جدول Employee :
جدول Department :
اکنون، به دستور RIGHT JOIN زیر نگاه کنید.
کویری RIGHT JOIN بالا جدول Employee و جدول Department را بهم پیوند می دهد که در آن Employee جدول سمت چپ و Department جدول سمت راست است. کویری بالا نتیجه زیر را نمایش می دهد.
همانطور که می بینید، این تمام رکوردها را از جدول Department و فقط رکوردهای منطبق را از جدول Employee که emp.DepId = dept.DepId است برمی گرداند. این شامل 3، رکورد'Sales' از جدول Department و NULL برای ستون های Employee است زیرا هیچ رکورد منطبقی در جدول Employee که DeptId آن 3 باشد وجود ندارد.
حالا بیایید جدول سمت راست را تغییر دهیم و ببینیم نتیجه چگونه تغییر خواهد کرد.
در بالا، جدول سمت چپ Department و جدول سمت راست Employee است. این کویری نتیجه زیر را نمایش می دهد.
همانطور که می بینید، این تمام رکوردها را از جدول سمت راست Employee و ردیف های منطبق از جدول سمت چپ Department را نمایش می دهد و برای تمام رکوردهای غیر منطبق از جدول Employee، مقدار NULL را برمی گرداند.