گروه مقاله : SQL Server
تاريخ انتشار : 1394/02/02 - 11:39
كد :221

پیوندها یا Joinها در SQL

Join ها برای ترکیب سطرهااز دو یا چند جدول بر اساس یک فیلد مشترک استفاده می شوند.
Join ها برای ترکیب سطرهااز دو یا چند جدول بر اساس یک فیلد مشترک استفاده می شوند.
رایج ترین نوع پیوند (join : SQL INNER JOIN simple join) است.یک SQL INNER JOIN تمامی سطرها را از چندین جدول جایی که شرط join برقرار باشد به ما می دهد.
نگاهی به بخشی از جدول "Orders" بیندازید :
 
OrderID CustomerID OrderDate
10308 2 1996-09-18
10309 37 1996-09-19
10310 77 1996-09-20

 

سپس نگاهی به جدول "Customers" بیندازید :

 

CustomerID CustomerName ContactName Country
1 Alfreds Futterkiste Maria Anders Germany
2 Ana Trujillo Emparedados  Ana Trujillo Mexico
3 Antonio Moreno Taquería Antonio Moreno Mexico

 

دقت کنید که ستون "CustomerID" از جدول "Orders" به "CustomerID" در جدول "Customers" اشاره دارد.ارتباط بین دو جدول بالا توسط ستون "CustomerID" است.
اگر عبارت SQL زیر را که شامل INNER JOIN است را بکار ببریم :
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers
ON Orders.CustomerID=Customers.CustomerID;
چیزی شبیه این ایجاد خواهد شد :
 
OrderID CustomerName OrderDate
10308 Ana Trujillo Emparedados  9/18/1996
10365 Antonio Moreno Taquería 11/27/1996
10383 Around the Horn 12/16/1996
10355 Around the Horn 11/15/1996
10278 Berglunds snabbköp 8/12/1996
 
تفاوت پیوندها :
قبل از اینکه مثال ها را ادامه دهیم ، انواع SQL JOIN های مختلف را که میتوان از آنهل استفاده کرد معرفی کنیم :
INNER JOIN : تمامی سطرها را به ما می دهد زمانیکه حداقل یک تطابق (همتا) در هر دو جدول وجود داشته باشد.
LEFT JOIN : تمامی سطرها از جدول سمت چپ و سطرهای مطابق در جدول سمت راست را به ما می دهد .
RIGHT JOIN :  تمامی سطرها از جدول سمت راست و سطرهای مطابق در جدول سمت چپ را به ما می دهد .
FULL JOIN : زمانیکه یک تطابق در یکی از جدول ها وجود داشته باشد تمام سطرها را به ما می دهد.
 
نظرات كاربران :