Left Join در SQL Server

LEFT JOIN نوعی inner join یا اتصال داخلی است که در آن تمام رکوردها را از جدول سمت چپ و رکوردهای مشابه را از جدول سمت راست برمی گرداند.

Left Join در SQL Server

Left Join در SQL Server

LEFT JOIN نوعی inner join یا اتصال داخلی است که در آن تمام رکوردها را از جدول سمت چپ و رکوردهای مشابه را از جدول سمت راست برمی گرداند. در اینجا، جدول سمت چپ جدولی است که در سمت چپ یا قبل از عبارت "LEFT JOIN" در کویری آمده است و جدول سمت راست به جدولی اشاره دارد که در سمت راست یا بعد از عبارت "LEFT JOIN" آمده است. برای تمام رکوردهای غیر منطبق از جدول سمت راست، NULL را برمی گرداند.

در برخی پایگاه های داده به آن LEFT OUTER JOIN می گویند.

سینتکس آن به صورت زیر است.

Left Join در SQL Server

در سینتکس بالا، table1 جدول سمت چپ و table2 جدول سمت راست است.

برای تفهیم بیشتر، از جداول Employee و Department زیر در همه مثال ها استفاده خواهیم کرد.

جدول Employee :

Left Join در SQL Server

جدول Department :

Left Join در SQL Server

کویری left join زیر را در نظر بگیرید.

Left Join در SQL Server

کویری LEFT JOIN بالا جدول Employee و جدول Department را به هم پیوند می دهد که در آن Employee جدول سمت چپ و Department جدول سمت راست است. این تمام رکوردها را از جدول Employee و رکوردهای مطابق را از جدول Department که در آن emp.DeptId = dept.DepId بازیابی می کند. کویری بالا نتیجه زیر را نمایش می دهد.

Left Join در SQL Server

توجه داشته باشید که فقط رکوردهایی را از جدول Department نمایش می دهد که در آن dept.DeptId با emp.DepId مطابقت دارد.

حالا بیایید جدول سمت چپ را تغییر دهیم و ببینیم نتیجه چگونه تغییر خواهد کرد.

Left Join در SQL Server

در بالا، جدول سمت چپ Department و جدول سمت راست Employee است. این کویری نتیجه زیر را نمایش می دهد.

Left Join در SQL Server

همانطور که می بینید، این اتصال، تمام رکوردها را از جدول Department و فقط رکوردهای منطبق را از جدول Employee که در آن dept.DeptId = emp.DepId است واکشی می کند. این شامل 3، رکورد 'Sales' از جدول Department و NULL برای ستون های Employee است زیرا هیچ رکورد منطبقی در جدول Employee که DeptId آن 3 باشد وجود ندارد.

Left Join در SQL Server آموزش SQL Server