استفاده از JOIN در SQL Server

استفاده از JOIN در SQL Server

در برنامه نویسی های پیشرفته و در طراحی ساختار برنامه های پیچیده نیاز به نوشتن پرس و جوهای ترکیبی و برقراری تعامل بیشتر بین جداول موجود در دیتابیس است، این نیاز سبب شده که قابلیت دیگری تحت عنوان JOIN (و مشتقات آن) به دستورات MySQL اضافه شود که به کمک آن می توان پرس و جوهای ترکیبی نوشت و بین جداول مختلف ارتباط برقرار کرد، در ادامه در مورد آن بیشتر خواهیم گفت.

یک دستور JOIN برای ترکیب ردیف هایی از دو یا چند جدول، بر اساس ستون مشترک مربوطه بین آنها استفاده می شود. بیایید به یک مثال از دو جدول “سفارشات” و “مشتری” نگاه کنیم، جدول زیر جدول سفارشات است:

استفاده از JOIN در اسکیوال

حال به جدول “مشتریان” نگاه کنید:

دستور JOIN در SQL Server

توجه داشته باشید که ستون “CustomerID” در جدول “سفارشات” به “CustomerID” در جدول “مشتریان” اشاره دارد. رابطه بین دو جدول فوق ستون “CustomerID” است. سپس، ما می توانیم عبارت SQL زیر را (که حاوی INNER JOIN است) ایجاد کنیم، که پرونده هایی را انتخاب می کند که دارای مقادیر مشترک در هر دو جدول هستند:

پس از اجرای دسورات بالا مقادیر زیر را مشاهده خواهیم کرد:

در ادامه اشاره کوتاهی به انواع join در sql خواهیم داشت.

  • INNER JOIN: در این حالت می توان به مواردی مشترک از هر دو جدول دسترسی داشت، نتیجه پرس و جو شامل برخی موارد از جدول اول به همراه برخی موارد دیگر از جدول دوم (بر اساس شرط تعیین شده) خواهد بود.
  • LEFT JOIN: در این حالت تمام ردیف های جدول اول صرف نظر از شرط تعیین شده به همراه ردیف های جدول دوم (بر اساس شرط تعیین شده) به عنوان خروجی برگردانده می شوند.
  • RIGHT JOIN: در این حالت ردیف ها از جدول دوم صرف نظر از شرط تعیین شده انتخاب و ردیف های جدول اول بر اساس شرط انتخاب می شوند.
  • FULL JOIN: در این حالت می توان دو پرس و جوی مبتنی بر JOIN را با عبارت کلیدی UNION (اجتماع) به هم مرتبط نمود.