SQL Left Join یکی از انواع دستورات Join در SQL است که به شما کمک میکند تا دادهها را از جداول مختلف به هم متصل کنید. این دستور به شما اجازه میدهد تا اطلاعات کامل از جدول سمت چپ به همراه دادههای مرتبط از جدول سمت راست را دیدن کنید. حتی اگر دادهای در جدول سمت راست وجود نداشته باشد، تمام رکوردهای جدول سمت چپ حفظ خواهند شد و رکوردهای غیر مرتبط از جدول سمت راست با مقادیر NULL پر خواهند شد.
بیایید برای فهم بهتر به یک مثال ساده بپردازیم. فرض کنید دو جدول به نامهای Customers
و Orders
داریم. جدول Customers
شامل اطلاعات مشتریان است و جدول Orders
شامل اطلاعات مربوط به سفارشهای آنهاست. حالا میخواهیم تمام مشتریان را ببینیم به همراه سفارشهایشان، حتی اگر برخی از مشتریان هنوز سفارشی نداده باشند.
SQL Left Join برای مواقعی که میخواهید بدانید کدام مشتریان سفارشی ندادهاند ولی همچنان اطلاعات تمام مشتریان را ببینید، کاربرد زیادی دارد. این دستور میتواند در تحلیل و گزارشگیریهای پیچیده بسیار مفید باشد، جایی که شما میخواهید بدانید چه دادهای غایب است اما همچنان به اطلاعات کامل دسترسی دارید.
همچنین، متوجه خواهید شد که استفاده مناسب از Left Join باعث بهبود عملکرد پرسوجوهای SQL میشود، زیرا محاسبات سمت سرور کاهش مییابد و فقط اطلاعات مورد نیاز واکشی میشوند. این میتواند به کاهش زمان پاسخگویی و افزایش کارایی برنامههای مرتبط با پایگاه دادهها کمک کند.
در انتها، به عنوان یک برنامهنویس یا تحلیلگر داده، اشراف بر نحوه عملکرد Left Join و موقعیتهای مناسب استفاده از این دستور، میتواند تاثیر زیادی بر قابلیتهای شما در مدیریت دادهها داشته باشد.
SELECT Customers.CustomerID, Customers.Name, Orders.OrderID
FROM Customers
LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID;
توضیح خط به خط کد:
SELECT Customers.CustomerID, Customers.Name, Orders.OrderID
این خط فیلدهای مورد نظر را که میخواهیم نمایش دهیم، مشخص میکند. از دو جدول Customers و Orders فیلدهایی انتخاب شدهاند.
FROM Customers
بیان میکند که دادهها از این جدول پایه یا سمت چپ گرفته میشود، یعنی جدول Customers.
LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID;
این بخش، دستور اصلی Left Join را تعریف میکند که چگونه جدول Orders به رفصلهای جدول Customers متصل شود؛ بر اساس فیلد مشترک CustomerID.