گروه مقاله : SQL Server
تاريخ انتشار : 1394/02/02 - 11:39
كد :221
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 : زمانیکه یک تطابق در یکی از جدول ها وجود داشته باشد تمام سطرها را به ما می دهد.