خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را
نحوه SELF JOIN زدن در SQL Server
Self Join یکی از روش های جوین زدن یک جدول با خودش است. اگر Primary key و Foreign key را در یک جدول داشته باشیم، می توانیم از این Self join برای اتصال آنها استفاده کنیم. Syntax استفاده از Self Join بصورت زیر است:
برای تست Self Join در SQL Serve ، از جدول Employees موجود در دیتابیس Adventure Works در SQL Server استفاده می کنیم. همانطور که مشاهده می کنید 15 کارمند که هر کدام متعلق به دپارتمان های مختلف هستند. ما یک ستون Foreign key با نام DepartID داریم.
هر دپارتمان دارای یک رئیس واحد است که خود او یکی از رکوردهای جدول employees است. برای به دست آوردن نام رئیس بخش(Department Head) باید از Self Join با استفاده از Primary key & Foreign key استفاده کنیم. به عنوان مثال، Self Join زیر نام مدیر بخش را برای هر کارمند حاضر در جدول Employees نشان می دهد.
همانطور که در تصویر زیر مشاهده می کنید، Rob Walter تنها عضو Sr. Software Developer نیست بلکه یکی از دو اعضای این واحد است ولی وی مدیر واحد مذکور است.
پس هنگامی که یک کلید اصلی و کلید خارجی در یک جدول دارید، از Self Join می توانید استفاده کنید.
آموزش پایگاه داده اس کیو ال سرور به زبان ساده از مبتدی تا پیشرفته
دوره آموزش برنامه نویسی بانکهای اطلاعاتی VB.NET + SQL Server
-- Syntax for SQL Server Self Join SELECT Tab1.Column(s), Tab2.Column(s),
FROM Table1 AS Tab1,
Table1 AS Tab2
برای تست Self Join در SQL Serve ، از جدول Employees موجود در دیتابیس Adventure Works در SQL Server استفاده می کنیم. همانطور که مشاهده می کنید 15 کارمند که هر کدام متعلق به دپارتمان های مختلف هستند. ما یک ستون Foreign key با نام DepartID داریم.
هر دپارتمان دارای یک رئیس واحد است که خود او یکی از رکوردهای جدول employees است. برای به دست آوردن نام رئیس بخش(Department Head) باید از Self Join با استفاده از Primary key & Foreign key استفاده کنیم. به عنوان مثال، Self Join زیر نام مدیر بخش را برای هر کارمند حاضر در جدول Employees نشان می دهد.
توجه:
در Self Join نام جدول بصورت ALIAS یا نام مستعار ضروری است.
در Self Join نام جدول بصورت ALIAS یا نام مستعار ضروری است.
-- SQL Server Self Join Example SELECT EMP1.[FirstName]
,EMP1.[LastName]
,EMP1.[Department Name]
,EMP2.[FirstName] +' '+ EMP2.[LastName] AS [Department Head]
FROM [Employees] AS EMP1, [Employees] AS EMP2
WHERE EMP1.DepartID = EMP2.ID
همانطور که در تصویر زیر مشاهده می کنید، Rob Walter تنها عضو Sr. Software Developer نیست بلکه یکی از دو اعضای این واحد است ولی وی مدیر واحد مذکور است.
پس هنگامی که یک کلید اصلی و کلید خارجی در یک جدول دارید، از Self Join می توانید استفاده کنید.
آموزش پایگاه داده اس کیو ال سرور به زبان ساده از مبتدی تا پیشرفته
دوره آموزش برنامه نویسی بانکهای اطلاعاتی VB.NET + SQL Server
نمایش دیدگاه ها (0 دیدگاه)
دیدگاه خود را ثبت کنید: