این مقاله یک نمای کلی از SQL Join ارائه می دهد و همه انواع اتصال SQL33EW را پوشش میدهد. برای پیوستنهای داخلی، در مورد پیوستنهای Equi و Theta بحث خواهیم کرد.
توانایی ترکیب نتایج از ردیفهای مرتبط از جداول متعدد، بخش مهمی از طراحی سیستم پایگاه داده رابطهای است. در SQL Server، این کار با عبارت join SQL انجام میشود. این ماهیت سیستمهای پایگاه داده رابطهای سنتی است که در آن برخی از جدولها حاوی اطلاعات مربوط به جداول دیگر با یک مقدار کلید مشترک است. با استفاده از اتصال SQL، میتوانید بهراحتی با این کلیدهای مشترک، کوئریهای را در مجموعههای داده مرتبط از چندین جدول انجام دهید.
هدف این مقاله ارائه دانش اولیه و مثال هایی است که برای استفاده مؤثر از Join SQL در هر محیط پایگاه داده نیاز دارید.
Join چیست ؟
SQL Join شکل خاصی برای تولید یک داده معنادار با ترکیب چندین جدول مرتبط با یکدیگر با استفاده از یک “Key” است. به طور معمول، جداول رابطه ای باید با یک ستون منحصر به فرد طراحی شوند و از این ستون برای ایجاد روابط با یک یا چند جدول دیگر استفاده میشود. هنگامی که به یک مجموعه نتیجه نیاز دارید که شامل ردیف های مرتبط از چندین جدول باشد، باید از SQL join در این ستون استفاده کنید.
انواع مختلف اتصال SQL به شرح زیر است:
- Inner join
- Equi join
- Theta join
- پیوستن غیر معادل (پیوستن تتا)
- اتصال خارجی SQL
- SQL join چپ یا الحاق خارجی چپ
- SQL join سمت راست یا outer join سمت راست
- SQL full join یا full outer join
- SQL cross join
- SQL self join
در ادامه به بررسی انواع join در SQL Server میپردازیم
سادهترین و رایجترین شکل اتصال، inner join، پیشفرض انواع اتصال SQL است که در اکثر سیستمهای مدیریت پایگاه داده استفاده میشود. این اتصال پیشفرض SQL است که وقتی از کلمه کلیدی join به تنهایی استفاده میکنید، دریافت میکنید.
نتیجه اتصال داخلی SQL شامل ردیف هایی از هر دو جدول است که در آن شرایط اتصال برقرار است.
در ادامه نحوه نوشتن syntax inner join در SQL Server به شرح زیر میباشد.
SELECT ColumnList from LeftTable L INNER join RightTable R ON L.Column=R.Colum
نکته: تجسم join query به صورت نمودار ون بسیار آسان است، جایی که هر یک از جداول با اشکال متقاطع نشان داده می شود. محل تلاقی اشکال، جایی که جداول روی هم قرار میگیرند، ردیفهایی هستند که در آن یک شرط برقرار است. ستونهای منحصربهفرد (ID) اغلب برای این منظور استفاده میشوند، جایی که شرط باید مطابق با شناسه ردیفها باشد.
تعریف Eqi Join:
اتصال equi رایج ترین شکل اتصال inner join است که در عمل استفاده میشود. اگر اتصال شامل یک عملگر برابری باشد، به عنوان مثال. =، سپس یک equi-join است.
مثال زیر همه نامهای ایالتی و StateProvinceIDهای منطبق را برمیگرداند.
SELECT DISTINCT A.StateProvinceID,S.Name FROM Person.Address A inner join Person.StateProvince S On A.StateProvinceID=S.StateProvinceID
دانلود این مقاله آموزشی:
برای آشنایی بیشتر با مفاهیم JOIN در SQL Server میتوانید به لینک زیر مراجعه کنید.

