🎁 تخفیف ویژه دوره های آموزشی 🎁

 Self-Join در SQL Server

در SQL Server، دستور self-join مانند یک اتصال معمولی است، اما یک جدول را به خودش متصل می کند.

 Self-Join در SQL Server

Self-Join در SQL Server

در SQL Server، دستور self-join مانند یک اتصال معمولی است، اما یک جدول را به خودش متصل می کند. مشابه هر join دیگری، self-join حداقل به دو جدول نیاز دارد. اما به جای اضافه کردن یک جدول متفاوت به join، نمونه دیگری از همان جدول را اضافه می کنید. این join در واقع پیوند بین دو نسخه از یک جدول است.

کلمه کلیدی Self Join وجود ندارد. شما یک join معمولی می نویسید که در آن هر دو جدول درگیر در اتصال یکسان هستند.

شکل زیر سینتکس کویری self-join است.

 Self-Join در SQL Server

در self-join، شما باید نام مستعار جدول را برای هر دو نمونه جدول مشخص کنید. در غیر این صورت یک خطا دریافت خواهید کرد.

جدول Employee زیر را در نظر بگیرید که شامل ستون های EmployeeID و ManagerID است. مقدار ستون ManagerID هر یک از EmployeeID خواهد بود. بنابراین، ما می توانیم اطلاعات مدیر را در همان جدول پیدا کنیم.

 Self-Join در SQL Server

جدول Employee شامل داده های زیر است.

 Self-Join در SQL Server

در جدول بالا، EmployeeID 7 شامل Manager ID 1 به عنوان مدیر خود است. EmployeeID 1 حاوی NULL در ستون ManagerID است زیرا مدیری ندارد.

کویری self-join زیر مدیران همه کارمندان را دریافت می کند.

 Self-Join در SQL Server

کویری بالا نتیجه زیر را در SQL Server نمایش می دهد.

 Self-Join در SQL Server

نتیجه بالا همه کارمندانی که یک مدیر دارند همراه با نام مدیرشان را نشان می دهد. کارمندانی که مدیر ندارند ( ستون ManagerID برابر با NULL است) نمایش داده نمی شود.

می توانید کویری بالا را به گونه ای تنظیم کنید که همه کارمندان را فهرست کند، حتی اگر مدیری نداشته باشند که از کویری LEFT JOIN استفاده کند.

 Self-Join در SQL Server

کویری بالا نتیجه زیر را نمایش می دهد.

 Self-Join در SQL Server
Self-Join در SQL Server آموزش SQL Server