SQL RIGHT JOIN Keyword
زبان SQL برای اینکه همه رکوردهای جدول سمت راست نمایش داده بشن (حتی اگه در جدول سمت چپ دادهٔ مطابق نداشته باشن)، از RIGHT JOIN یا RIGHT OUTER JOIN استفاده میکنیم.
🔹 ساختار کلی
-
تمام رکوردهای جدول سمت راست (
table2
) انتخاب میشن. -
اگر در جدول سمت چپ (
table1
) مقدار مطابق وجود داشته باشه، نمایش داده میشه. -
اگر مطابق وجود نداشته باشه، مقادیر ستونهای جدول سمت چپ
NULL
خواهند بود.
🔹 مثال ساده
جدول: Customers
id | name | city |
---|---|---|
1 | Ali | Tehran |
2 | Sara | Mashhad |
3 | Reza | Tabriz |
جدول: Orders
order_id | customer_id | amount |
---|---|---|
101 | 1 | 500 |
102 | 2 | 300 |
103 | 4 | 700 |
کوئری:
📌 خروجی:
name | amount |
---|---|
Ali | 500 |
Sara | 300 |
NULL | 700 |
توضیح: سفارش با customer_id = 4
مشتری مرتبطی در جدول Customers نداره، ولی چون از RIGHT JOIN استفاده شده، باز هم در خروجی اومده و مقدار name
براش NULL
شده.
🔹 استفاده از Alias
🔹 RIGHT JOIN در مقابل LEFT JOIN
-
LEFT JOIN
همه رکوردهای جدول سمت چپ رو میاره. -
RIGHT JOIN
همه رکوردهای جدول سمت راست رو میاره. -
در عمل، این دو معادل هم هستن؛ فقط بستگی داره کدوم جدول رو به عنوان سمت اصلی در نظر بگیری.
✅ نکات مهم
-
RIGHT JOIN
وRIGHT OUTER JOIN
یکی هستن (OUTER اختیاریه). -
بیشتر برنامهنویسها ترجیح میدن به جای RIGHT JOIN از LEFT JOIN استفاده کنن (چون خوانایی بالاتری داره).
-
در دیتابیسهایی مثل MySQL، Oracle، SQL Server همه به همین شکل پشتیبانی میشه.