با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن . و کاربرانی که دوره آموزش کامل SQL را دنبال می کنند. تا اینجای کار،ما به دو زیر مجموعه ی دستور JOIN اشاره کردیم. اولین دستور INNER JOIN در SQL بود. که با ساختار و کاربردهای آن بخوبی آشنا شدید. در ادامه نیز، دستور LEFT JOIN در SQL را آموزش دادیم و تفاوت آن را با INNER JOIN بررسی کردیم. در حال حاضر در این بخش به بررسی دستور RIGHT JOIN در SQL و ساختار دستور RIGHT JOIN خواهیم پرداخت.
دستور RIGHT JOIN همه رکوردها را از جدول سمت چپ (جدول ۱) و رکوردهای همسان را از جدول راست (جدول ۲) باز می گرداند.
در صورتی که رکوردهایی با فیلدی با مقدار یکسان از جدول۱ وجود نداشته باشد، نتیجه NULL بازگردانده می شود.
ساختار دستور RIGHT JOIN :
1 2 3 | SELECT column_name(s) FROM table1 RIGHT JOIN table2 ON table1.column_name = table2.column_name; |
نکته: در برخی بانک های اطلاعاتی، دستور RIGHT JOIN، با نام RIGHT OUTER JOIN ، شناخته می شود.
در این قسمت، به بخشی از رکوردهای دو جدول که در مثال های این آموزش، از آن ها استفاده خواهیم کرد، اشاره می کنیم.
بخشی از رکوردهای جدول “Orders” :
OrderID | CustomerID | EmployeeID | OrderDate | ShipperID |
---|---|---|---|---|
۱۰۳۰۸ | ۲ | ۷ | ۱۹۹۶-۰۹-۱۸ | ۳ |
۱۰۳۰۹ | ۳۷ | ۳ | ۱۹۹۶-۰۹-۱۹ | ۱ |
۱۰۳۱۰ | ۷۷ | ۸ | ۱۹۹۶-۰۹-۲۰ | ۲ |
بخشی از رکوردهای جدول “Employees” :
EmployeeID | LastName | FirstName | BirthDate | Photo |
---|---|---|---|---|
۱ | Davolio | Nancy | ۱۲/۸/۱۹۶۸ | EmpID1.pic |
۲ | Fuller | Andrew | ۲/۱۹/۱۹۵۲ | EmpID2.pic |
۳ | Leverling | Janet | ۸/۳۰/۱۹۶۳ | EmpID3.pic |
در مثال زیر رکوردهای از جدول Employees که مطابق آن در جدول orders باشد، نمایش داده می شود.
مثال:
1 2 3 4 | SELECT Orders.OrderID, Employees.LastName, Employees.FirstName FROM Orders RIGHT JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID ORDER BY Orders.OrderID; |
نکته: دستور RIGHT JOIN تمام رکوردها را از جدول Employees باز می گرداند، حتی اگر همسان آن در جدول orders موجود نباشد.
دستور RIGHT JOIN همانند دستور LEFT JOIN عمل می کند. فقط LEFT JOIN روی جدول شماره ۱ تاکید دارد. اما RIGHT JOIN روی جدول شماره ۲ تاکید دارد. در انتهای بخش آشنایی با دستور RIGHT JOIN در SQL نیز ما شما را با زیر مجموعه ی جدیدی از JOIN آشنا کردیم. امیدواریم که این مباحث نیز مفید بوده باشد.