تفاوت اصلی بین Inner Join و Natural Join در این است که Inner Join نتیجه را بر اساس داده های منطبق بر اساس شرایط برابری مشخص شده در پرس و جو ارائه می دهد در حالی که Natural Join نتیجه را بر اساس ستونی با همان نام ارائه می دهد و یک نوع داده در جداولی که باید ملحق شوند وجود دارد.
DBMS اجازه می دهد تا به راحتی داده ها را ذخیره، بازیابی و دستکاری کنید. داده ها را در قالب جداول ذخیره می کند. هر جدول از سطر و ستون تشکیل شده است. ردیف ها هر موجودیت را نشان می دهند در حالی که ستون ها نشان دهنده ویژگی ها هستند. پایگاه داده دانشجویی را فرض کنید. هر ردیف نشان دهنده یک دانش آموز است. ستون ها نشان دهنده ویژگی هایی مانند شناسه، نام، درجه، سن هستند.یک DBMS مجموعه ای از جداول است و هر جدول با استفاده از محدودیت هایی مانند کلیدهای خارجی مرتبط است. گاهی اوقات استفاده از یک میز کافی نیست. شرایطی وجود دارد که نیاز به استفاده از چندین جدول دارد. برای ترکیب دو جدول، حداقل یک ستون باید مشترک باشد. به ترکیب جداول join می گویند.
Inner Join چیست؟
مثال برای اتصال داخلی به شرح زیر است. جدول دانشجویی در زیر آمده است.
جدول_اطلاعات دانشجویی به شرح زیر است.
برای انجام اتصال داخلی، باید حداقل یک مسابقه بین هر دو جدول وجود داشته باشد. شناسه 1، 2، 3 در هر دو جدول مشترک است. بنابراین، امکان انجام اتصال داخلی وجود دارد.
شکل 01: SQL Join
کوئری INNER JOIN برای پیوستن به این دو جدول به شرح زیر است.
انتخاباز دانش آموز
INNER JOIN student_info WHERE student.id=student_info.id;
اجرای دستور SQL بالا، جدول زیر را خروجی می دهد.
ملحق شدن طبیعی چیست؟
مثال برای اتصال طبیعی به شرح زیر است. جدول دانشجویی در زیر آمده است.
جدول_اطلاعات دانشجویی به شرح زیر است.
برای انجام اتصال طبیعی، باید ستونی با همان نام و نوع داده مشابه وجود داشته باشد. ستون id برای هر دو جدول یکسان است. بنابراین، امکان پیوستن طبیعی به این دو جدول وجود دارد.
کوئری NATURAL JOIN برای پیوستن به این دو جدول به شرح زیر است.
انتخاباز دانش آموز NATURAL JOIN student_info;
اجرای دستور SQL بالا، جدول زیر را خروجی می دهد.
رابطه بین پیوستن داخلی و اتصال طبیعی چیست؟
Natural Join نوعی اتصال داخلی است
تفاوت بین اتصال داخلی و اتصال طبیعی چیست؟
پیوستن داخلی نتیجه را بر اساس دادههای منطبق بر اساس شرایط برابری مشخص شده در پرسوجو ارائه میکند، در حالی که Join طبیعی نتیجه را بر اساس ستونی با همان نام و نوع داده مشابه موجود در جداول برای پیوستن ارائه میکند. علاوه بر این، نحو اتصال داخلی و اتصال طبیعی متفاوت است.
وقتی جدول ۱ از شناسه، نام و جدول ۲ از شناسه و شهر تشکیل شده باشد، آنگاه پیوند داخلی، جدول به دست آمده را با سطرهای منطبق به دست می دهد. شناسه، نام، دوباره شناسه و شهر خواهد داشت. از سوی دیگر، در پیوستن طبیعی، جدول به دست آمده را با ردیف های منطبق با ستون های شناسه، نام، شهر نشان می دهد.
خلاصه – Inner Join در مقابل Natural Join
تفاوت کلیدی بین پیوستن داخلی و اتصال طبیعی این است که پیوستن داخلی نتیجه را بر اساس داده های منطبق بر اساس شرایط برابری مشخص شده در پرس و جو SQL ارائه می دهد در حالی که Join طبیعی نتیجه را بر اساس ستونی با همان نام ارائه می دهد. و همان نوع داده در جداولی که باید ملحق شوند وجود دارد.