تفاوت بین Left Join و Left Outer Join در SQL - همه تفاوت ها

 تفاوت بین Left Join و Left Outer Join در SQL - همه تفاوت ها

Mary Davis

پایگاه داده شامل مجموعه ای سازمان یافته از اطلاعات ساختاریافته است که معمولاً به صورت الکترونیکی در یک سیستم کامپیوتری ذخیره می شود. چندین پایگاه داده مختلف، مانند SQL Server، Oracle، PostgreSQL و MySQL، معمولاً از یک زبان برای مدیریت داده ها استفاده می کنند .

یکی از این زبان ها به نام SQL شناخته می شود. SQL دارای دستورات مختلف Join به شکل Inner Join، Left Join و Right Join است.

همانطور که ممکن است بدانید، یک Join در SQL برای جمع آوری سطرها از دو یا چند جدول از ستون مربوطه استفاده می شود . این ممکن است این سوال را ایجاد کند که سایر تغییرات چه کار می کنند.

مطمئنم کمی گیج کننده است! اما نگران نباشید، من شرح مفصلی از معنای آنها ارائه خواهم داد، و امیدوارم که به شما کمک کند بهتر درک کنید.

بیایید به آن برسیم!

SQL چیست؟

SQL مخفف Structured Query Language است. ​​این زبانی است که توسط پایگاه های داده مختلف برای نوشتن و جستجوی داده ها استفاده می شود. این اجازه می دهد تا اطلاعات را با استفاده از جداول مدیریت کنید و زبانی را برای پرس و جو از این جداول و سایر اشیاء مرتبط مانند نماها، توابع، رویه ها و غیره نمایش می دهد.

دونالد چمبرلین و ریموند بویس طراحان هستند از SQL، که آنها برای دستکاری داده ها ساخته بودند. مدل آنها بر اساس کارهای ادگار فرانک کاد بود که برای IBM کار می کرد و پایگاه داده رابطه ای را در دهه 70 اختراع کرد.

همچنین ببینید: پرس بالای سر در مقابل پرس نظامی: کدام بهتر است؟ - همه تفاوت ها

در ابتدا SEQUEL نامگذاری شد، اما به دلیل موارد خاص به SQL کوتاه شدمسائل مربوط به علامت تجاری با این حال، در صورت تمایل می توانید آنها را SEQUEL بنامید.

با SQL، می توانید داده ها را وارد، حذف و به روز کنید و سایر اشیاء پایگاه داده را ایجاد، حذف یا تغییر دهید. دستورات استاندارد SQL عبارتند از: « انتخاب»، «حذف»، «درج»، «به‌روزرسانی»، «ایجاد» و «افت» . اینها می توانند هر کاری را که فرد باید در پایگاه داده انجام دهد را انجام دهد.

علاوه بر این، این زبان در چندین پایگاه داده برای کمک به مدیریت داده ها و اشیاء پایگاه داده استفاده می شود. اگر برای شما پیچیده به نظر می رسد، در اینجا ویدیویی وجود دارد که توضیح می دهد SQL برای مبتدیان چیست:

آیا پایگاه داده می تواند بدون زبان اجرا شود؟

چرا از SQL استفاده می کنیم؟

خیلی ساده است. ما پایگاه داده را بدون SQL درک نخواهیم کرد. به همین ترتیب، ما نمی‌توانیم بدون آن پایگاه داده را دستور دهیم زیرا SQL سیستمی است که برای برقراری ارتباط با پایگاه داده استفاده می‌شود. سیستم های

SQL وظایفی مانند حذف، افزودن یا تغییر داده ها را انجام می دهند. این سیستم معمولاً برای آسان‌تر کردن مدیریت مقادیر زیاد داده با مدیریت کارآمد آن استفاده می‌شود. چند سیستم مدیریت پایگاه داده رابطه ای استاندارد که از SQL استفاده می کنند عبارتند از Oracle، Sybase، Microsoft Access و Ingres.

Inner Join و Outer Join چیست؟

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

یک پیوست داخلی پیوندی است که همه ردیف‌ها را از هر دو جدول شرکت‌کننده برمی‌گرداند که در آن رکورد ضروری یک جدول با رکوردهای بحرانی جدول دیگر یکسان است.

این نوع Join به یک عملگر مقایسه نیاز دارد تا ردیف‌هایی را از جداول شرکت‌کننده که از یک فیلد یا ستون استاندارد هر دو جدول پشتیبانی می‌کنند مطابقت دهد.

Outer Join می‌تواند غیر را برگرداند. -تطبیق سطرها در یک یا هر دو جدول . اساساً، تمام سطرها را از تمام جداول که شرایط را برآورده می کنند، برمی گرداند.

انواع مختلفی از اتصالات خارجی وجود دارد. اینها شامل Left Join، Right Join و Full Outer Join هستند.

در اینجا جدولی است که عملکردهای مهم اتصالات موجود در SQL را خلاصه می کند:

انواع اتصالات: عملکرد :
پیوستن داخلی این سطرها را زمانی برمی‌گرداند که حداقل یک تطابق در هر دو جدول وجود داشته باشد.
پیوستن بیرونی چپ این همه سطرها را از جدول سمت چپ به همراه سطرهای منطبق از جدول سمت راست برمی گرداند.
پیوستن بیرونی راست این همه سطرها را از جدول سمت راست به همراه سطرهای منطبق از جدول سمت چپ برمی گرداند.
پیوستن کامل بیرونی این اتصال بیرونی چپ و اتصال بیرونی راست را ترکیب می‌کند. در صورت برآورده شدن شرایط، ردیف‌هایی را از هر جدول برمی‌گرداند.

این تفاوت بین چهار اتصال در SQL را نشان می‌دهد.

تفاوت بین پیوستن داخلی و خارجی

موارد بیشتری وجود دارد. تفاوت قابل توجه بین اتصالات داخلی و خارجی این است که اتصالات داخلی معمولاً منجر به تلاقی دو جدول می شود. در مقابل، Outer Joins منجر به اختلاط دو جدول می شود.

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

پیوستن های بیرونی شامل ردیف های منطبق و ردیف های غیر منطبق از جداول است. علاوه بر این، یک پیوستن بیرونی از اتصال داخلی در مدیریت شرایط تطابق نادرست متفاوت است.

پیوستن بیرونی چپ شامل پیوستن بیرونی چپ + پیوستن داخلی است. در حالی که اتصال بیرونی راست نیز از اتصال بیرونی راست + پیوستن داخلی تشکیل شده است. Full Outer Join از همه آنها تشکیل شده است.

Left Join (آیا مانند Left Outer Join در SQL است؟)

شاید شما نامی را شنیده باشید سمت چپ Join در SQL هم؟ خوب، این همان Left Outer Join است. ​​آنها دو نام مختلف برای یک تابع دارند.

یک پیوست سمت چپ مانند یک اتصال بیرونی چپ در SQL است، و آنها یکی هستند. Left Join فقط مختصری برای Join بیرونی سمت چپ است. کلمه"خارجی" فقط کار را ساده تر می کند، اما هر دو کلید عملکردهای یکسانی را انجام می دهند.

چرا Left Join را Left Outer Join می نامند؟

شما گزینه هایی خواهید داشت که آن را با نام توسعه یافته یا میانبر صدا بزنید. علاوه بر این، آنها دقیقاً یکسان هستند.

به خاطر داشته باشید که این Join تمام ردیف‌های جدول در سمت چپ و ردیف‌های منطبق در سمت راست Join را برمی‌گرداند. اگر هیچ طرف منطبقی در سمت راست وجود نداشته باشد، نتیجه باطل است.

بنابراین اگر بخواهیم دو جدول A و B را به هم بپیوندیم، SQL Left Outer Join همه سطرهای جدول سمت چپ را برمی گرداند. ، که A است و تمام ردیف هایی که در جدول دیگر B در سمت راست مطابقت دارند. به طور خلاصه، نتیجه SQL Left Join همیشه از ردیف های جدول سمت چپ تشکیل شده است.

تفاوت بین Join و Left Join

برای اصول اولیه، Join یک پیوست داخلی نیز نامیده می شود، در حالی که Left Join یک پیوستن خارجی است.

اما تفاوت اصلی این است که دستور الحاق چپ احتمالاً شامل و ترکیب تمام ردیف‌های جدول اشاره‌شده در سمت چپ اطلاعات است. به جای فقط ردیف های بی همتا، از تمام ردیف های جدول سمت چپ و ردیف های همسان از سایر جداول تشکیل شده است.

چه زمانی از Left Outer Join در SQL استفاده کنیم؟

فرض کنید به دنبال راهی برای ترکیب جداول مختلف هستید. یا، اگر دو جدول را به هم می‌پیوندید و می‌خواهید نتیجه روی آن تنظیم شودفقط ردیف های بی همتای یک جدول را شامل شود، باید از یک بند الحاق بیرونی سمت چپ یا یک بند الحاق خارجی مناسب استفاده کنید. استفاده از Left Outer Join شامل سطرهایی است که با جدول مشخص شده قبل از عبارت الحاق خارجی سمت چپ مطابقت ندارند.

از لحاظ فنی، Join بیرونی سمت چپ، تمام سطرهایی را از هر دو جدول که شرایط اتصال را دارند و ردیف های بی همتا از جدول

آیا اتصال بیرونی چپ تعداد ردیف ها را افزایش می دهد؟

این یک سوال متداول است. از نظر فنی، بله است.

اما، Left Join فقط می تواند تعداد ردیف های جدول سمت چپ را افزایش دهد. و این تنها زمانی است که چندین مسابقه در جدول مناسب باشد. علاوه بر این، اگر برای تجزیه و تحلیل شما نیاز باشد، می توانید از تعداد زیادی از Join های چپ در یک پرس و جو استفاده کنید.

پیوستن بیرونی چپ در مقابل پیوند بیرونی راست

تفاوت قابل توجه بین پیوستن بیرونی چپ و پیوستن بیرونی راست، ترکیب ردیف‌های غیر همسان است.

بنابراین تفاوت بین این دو در این است که Join بیرونی سمت چپ شامل ردیف‌های بی‌همتا یا تمام رکوردهای جدول در سمت چپ عبارت join، از جمله ردیف‌های همسان از جدول یا عبارت سمت راست است.

همچنین ببینید: غیرفعال کردن حساب Discord در مقابل. حذف یک حساب Discord - تفاوت چیست؟ - همه تفاوت ها

از سوی دیگر، اتصال بیرونی راست شامل ردیف‌های بی‌همتا از جدول در سمت راست عبارت Join است و همه ردیف‌ها را از سمت راست برمی‌گرداند.

یک بند Join رکوردها را ترکیب می‌کند یا فرم‌های دو یا چند جدول را با استفاده از آن تغییر می‌دهد و دستکاری می‌کند.یک شرط پیوستن این شرط Join نشان می دهد که چگونه ستون های جداول مختلف هنگام مقایسه با یکدیگر مطابقت دارند.

به عنوان مثال، یک ستون استاندارد بین یک جدول حاوی حقوق کارمند و جدول دیگری حاوی جزئیات کارمند وجود خواهد داشت. این می تواند شناسه کارمند باشد و به پیوستن به دو جدول کمک می کند.

بنابراین می توانید جدول را به عنوان یک موجودیت در نظر بگیرید و کلید یک پیوند مشترک بین دو جدول است که برای عملیات مشترک استفاده می شود.

مطالعه پایگاه های داده می تواند مشکل باشد. اما اگر به طور کامل آن را درک کنید، دریافت آن بسیار ساده است.

تفاوت بین پیوستن راست و پیوستن راست بیرونی چیست؟

اتصال سمت راست شبیه به اتصالات چپ است، با این تفاوت که همه را برمی گرداند. ردیف‌های جدول از سمت راست و ردیف‌های مشابه از سمت چپ.

دوباره، پیوستن راست و پیوستن بیرونی راست هیچ تفاوت خاصی ندارند، همان طور که پیوستن چپ و پیوستن بیرونی چپ تفاوت خاصی ندارند. به طور خلاصه، عبارت Right Join به سادگی مخفف Right Outer Join است.

کلید کلیدی "بیرونی" اختیاری است. هر دو یک کار را انجام می دهند و مجموعه داده ها و جداول را ترکیب می کنند.

چرا به جای پیوستن چپ از Join راست استفاده کنید؟

به طور کلی، اتصالات بیرونی سمت راست به طور معمول مورد استفاده قرار نمی گیرند، زیرا همیشه می توانید آنها را با اتصالات بیرونی چپ جایگزین کنید، و نیازی به انجام هیچ عملکرد اضافی نیست.

کسی می تواند به استفاده از Right Join به جای Left Join فکر کندسعی کنید SQL خود را مستندتر کنید.

شما ممکن است از پیوستن چپ برای پاسخگویی به پرسش‌هایی که دارای ردیف‌های خالی در سمت وابسته هستند استفاده کنید. شما می توانید از پیوستن راست برای سوالاتی که سطرهای تهی در سمت مستقل ایجاد می کنند استفاده کنید.

پیوستن بیرونی سمت راست همچنین زمانی که نیاز دارید یک جدول را با تقاطع بسیاری از جداول دیگر ترکیب کنید مفید است.

تفاوت بین Join و Union در SQL

تفاوت Join و Union در این است که Union برای ترکیب مجموعه نتیجه از دو یا چند عبارت SELECT استفاده می شود.

در حالی که Join داده های بسیاری از جداول را بسته به شرایط منطبق ترکیب می کند، داده های ترکیب شده با استفاده از دستورات Join منجر به ستون های جدید می شود.

داده‌های ترکیب شده با استفاده از عبارت Union منجر به ایجاد ردیف‌های مجزای جدید از مجموعه‌ها با تعداد ستون‌های مساوی می‌شود.

نظرات نهایی

در نتیجه، هیچ تفاوتی بین LEFT JOIN و LEFT OUTER JOIN وجود ندارد. این موضوع برای Right Join و Right Outer Join نیز صادق است.

هر دو کلید عملکردهای یکسانی را انجام می‌دهند و « outer» فقط یک کلمه کلیدی اختیاری برای استفاده است. ​​برخی افراد استفاده از آن را فقط به این دلیل توصیه می‌کنند که روشن می‌کند که شما در حال ایجاد پیوستن خارجی هستید.

بنابراین، در نهایت، اینکه آن را مشخص کنید یا نه، اصلاً فرقی نمی‌کند.

مقالات جالب دیگر:

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

    Mary Davis

    مری دیویس یک نویسنده، خالق محتوا و محقق مشتاق است که در تحلیل مقایسه در موضوعات مختلف تخصص دارد. مری با مدرک روزنامه نگاری و بیش از پنج سال تجربه در این زمینه، علاقه زیادی به ارائه اطلاعات بی طرفانه و مستقیم به خوانندگان خود دارد. عشق او به نویسندگی از جوانی شروع شد و نیروی محرکه موفقیت او در نویسندگی بوده است. توانایی مری در تحقیق و ارائه یافته ها در قالبی آسان و قابل درک، او را برای خوانندگان در سراسر جهان محبوب کرده است. وقتی مری نمی‌نویسد، از سفر، مطالعه و گذراندن وقت با خانواده و دوستان لذت می‌برد.