خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


تفاوت Inner Join و Outer Join در SQL Server چیست

تفاوت Inner Join و Outer Join در SQL Server چیست
حتی اگر مدت بسیار کوتاهی هم در رابطه با دیتابیس ها مطالعه داشته باشید حتما با واژه Join آشنا هستید و در مورد کار آن مطالبی را خوانده اید(روی صحبت ما در این پست، SQL Server می باشد). Join انواع مختلفی دارد که ما به Inner Join و Outer Join که دو نوع از join ها هستند، خواهیم پرداخت. تفاوت بالقوه بین Inner Join و Outer Join در این است که Inner Join فقط رکوردهای هماهنگ از هر دو جدول باز می گرداند و Outer Join تمام رکوردها را از هر دو جدول را برمی گرداند.

سیستم یکپارچۀ سازمانی راهکار



تفاوت Inner Join و Outer Join چیست . آموزشگاه رایگان خوش آموز

Definition of Inner Join

Inner Join همچنین با Natural Join هم شناخته می شود که شاید با این واژه چندان آشنا نباشید. Inner Join دو جدول را مقایسه می کند و در هر دو جدول رکوردهای مطابق را ترکیب می کند و در ضمن این نوع Join، جوین پیشفرض می باشد و در زمان درج دستور برای Join کردن نیازی نیست که حتما inner join را کامل تایپ کنید بلکه همین join برای جوین کردن جداول کافیست. پس اگر شرط Join را بدون Outer هم در دستور وارد کنید، معنی inner join خواهد داد.
برای درک بهتر Inner Join، قصد درایم از یک مثال ساده استفاده کنیم. جدول student و جدول department دو جدول از هم جدا هستند. حال اجازه دهید که به طرز کار inner Join بپردازیم.

تفاوت Inner Join و Outer Join چیست . آموزشگاه رایگان خوش آموز

SELECT Name, Sem, Deparment_name FROM Student INNER JOIN Department ON Student.Department_ID= Department.ID

تفاوت Inner Join و Outer Join چیست . آموزشگاه رایگان خوش آموز

خروجی این Join فقط رکوردهایی از دو جدول بودند که Student.Department_ID = Department.ID بود. inner join فقط برای خروجی رکوردهایی که با هم تطابق دارند استفاده می شود.

Definition of Outer Join

بر خلاف Inner Join، Outer Joinتمامی رکوردهای هر دو جدول را نمایش می دهد. در واقع Outer Join ترکیبی از سه نوع جوین Left Outer Join ، Right Outer Join و Full Outer Join می باشد. در ادامه درخصوص هر کدام از این Join ها صحبت خواهیم کرد.
لطفا به دستور زیر دقت کنید:

Select Name, Department_name From Student Left Outer Join Department ON Student.Department_ID=Depoartment.ID

تفاوت Inner Join و Outer Join چیست . آموزشگاه رایگان خوش آموز

همانطور که مشاهده می کنید، تمامی رکوردهای جدول Sudend در خرورجی نمایش داده شده است.

Select Name, Department_name From Department Right Outer Join Student ON Student.Department_ID=Depoartment.ID

تفاوت Inner Join و Outer Join چیست . آموزشگاه رایگان خوش آموز

همانطور که می توانید مشاهده کنید، تمامی رکوردهای جدول Department در خروجی دستور وجود دارد.

Select Name, Department_name From Student Full Outer Join Department ON Student.Department_ID=Depoartment.ID

تفاوت Inner Join و Outer Join چیست . آموزشگاه رایگان خوش آموز

در خروجی دستور Full outer join، تمامی رکوردهای هر جدول نمایش داده شده است.

تفاوت اصلی در دو نوع جوین inner join و outer join در این است که در inner join پس از تطبیق رکوردهای دو جدول، خروجی نمایش داه می شود و در outer join همه رکوردهای دو جدول در خروجی دستور قرار خواهند گرفت.
سایز دیتابیس حاصل از Inner Join کوچکتر از Outer Join است.





نمایش دیدگاه ها (1 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز