SQL LEFT JOIN Keyword
زبان SQL برای اینکه همه رکوردهای جدول سمت چپ نمایش داده بشن (حتی اگه در جدول سمت راست دادهٔ مطابق نداشته باشن)، از LEFT JOIN یا LEFT OUTER JOIN استفاده میکنیم.
🔹 ساختار کلی
-
تمام رکوردهای جدول سمت چپ (
table1
) انتخاب میشن. -
اگر در جدول سمت راست (
table2
) مقدار مطابق وجود داشته باشه، نمایش داده میشه. -
اگر مطابق وجود نداشته باشه، مقادیر ستونهای جدول سمت راست
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 |
کوئری:
📌 خروجی:
name | amount |
---|---|
Ali | 500 |
Sara | 300 |
Reza | NULL |
توضیح: مشتری Reza سفارش نداده، اما چون از LEFT JOIN استفاده شده، باز هم در خروجی هست و مقدار سفارش (amount
) براش NULL
شده.
🔹 استفاده از Alias
🔹 LEFT JOIN در مقابل INNER JOIN
-
INNER JOIN
فقط رکوردهایی رو میاره که در هر دو جدول مقدار مشترک دارن. -
LEFT JOIN
همه رکوردهای جدول سمت چپ رو میاره، حتی اگر در جدول سمت راست دادهای نباشه.
✅ نکات مهم
-
LEFT JOIN
وLEFT OUTER JOIN
یکی هستن (OUTER اختیاریه). -
وقتی بخواید همه دادههای جدول اصلی (سمت چپ) رو داشته باشید، حتی بدون دادهٔ مرتبط، باید از LEFT JOIN استفاده کنید.
-
در دیتابیسهایی مثل MySQL، Oracle، SQL Server همه به همین شکل پشتیبانی میشه.