LEFT JOIN (LEFT JOIN)
در «جوین چپ (Left Join)» همه ردیف های جدول چپ برمی گردند. ردیف های جدول راست فقط در صورت تطابق می آیند. «تطابق (Match)» یعنی مقدار کلیدها برابر باشد. مثل فهرست دانش آموزان و نمرات؛ همه دانش آموزان دیده می شوند، حتی اگر نمره نداشته باشند.
نحوه کار جوین چپ
با LEFT JOIN از جدول چپ شروع می کنیم. سپس با شرط ON مشخص می کنیم کدام ستون ها باید برابر باشند. اگر همتایی در جدول راست نبود، ستون های راست NULL می شوند. این رفتار برای گزارش های «همه را نشان بده» عالی است.
سینتکس استاندارد
SELECT column_name(s);
FROM table1;
LEFT JOIN table2 ON table1.column_name = table2.column_name;
نکته: جوین چپ همیشه همه ردیف های جدول چپ را می آورد؛ حتی بدون تطابق.
مثال کاربردی با Customers و Orders
می خواهیم همه مشتری ها را ببینیم. اگر سفارشی دارند، شماره سفارش هم بیاید. اگر ندارند، ستون سفارش تهی می ماند. این دقیقاً نیاز گزارش های «لیست کامل مشتریان» است.
SELECT Customers.CustomerName,
Orders.OrderID;
FROM Customers;
LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID;
ORDER BY Customers.CustomerName;
گام های سریع تمرین
- ستون های خروجی را انتخاب کن؛ مثلاً نام مشتری.
- FROM را روی جدول چپ بگذار؛ Customers.
- LEFT JOIN را با جدول راست بنویس؛ Orders.
- شرط ON را با کلیدها تنظیم کن؛ CustomerID = CustomerID.
- در پایان، مرتب سازی اختیاری با ORDER BY انجام بده.
برای مرور تفاوت با INNER JOIN این مثال را با همان شرط اجرا کن. همچنین مسیر یادگیری جوین چپ را کنار RIGHT JOIN کامل کن.
جمع بندی سریع
- جوین چپ همه ردیف های جدول چپ را نگه می دارد.
- ردیف ناموجود در راست با NULL پر می شود.
- برای گزارش های «نمایش کامل» عالی است.
- شرط ON را دقیق بر اساس کلیدها بنویس.
- با ORDER BY نتیجه را خواناتر کن.