دستور INNER JOIN در SQL
از دستور INNER JOIN در SQL برای انتخاب رکورد های مشترک بین دو جدول استفاده می کنیم.
نحوه استفاده از دستور INNER JOIN
SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;
همانطور که در تصویر زیر مشاهده میکنید ، دستور INNER JOIN وجه مشترک دو جدول را انتخاب می کند.
مثال برای دستور INNER JOIN
در این مثال ما با استفاده از دستور INNER JOIN در SQL تعدادی از ستون های جداول Orders
و Customers
را باهم ترکیب و انتخاب می کنیم.
لیست ردیف های جدول "Orders"
OrderID | CustomerID | OrderDate |
---|---|---|
10308 | 2 | 1996-09-8 |
10309 | 1 | 1996-09-19 |
10310 | 3 | 1996-09-20 |
لیست ردیف های جدول "Customers"
CustomerID | CustomerName | ContactName | Country |
---|---|---|---|
1 | Ali Rezayi | Tehran | Iran |
2 | Matin Boronsi | Tehran | Iran |
3 | Amir Hosein Sarajian | Tehran | Iran |
برای اینکه ما بتوانیم دو جدول مربوطه را باهم ترکیب کنیم و مقادیر مشخصی را از هر دوتای آنها استخراج کنیم باید یک ستون مشترک در دو جدول وجود داشته باشد.
در اینجا ستون CustomerID
رابط ما برای ترکیب این دو جدول می باشد که این ستون هم در جدول "Orders"
وجود دارد و هم در جدول "Customers"
حال قصد داریم با استفاده از دستور INNER JOIN در SQL مقادیر ستون های OrderID
و OrderDate
و CustomerName
را با استفاده از رابط CustomerID
گرفته و در یک جدول مجزا لیست کنیم.
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers
ON Orders.CustomerID=Customers.CustomerID;
خروجی دستورات بالا چیزی شبیه به این هست:
OrderID | CustomerName | OrderDate |
---|---|---|
10308 | Matin Boronsi | 1996-09-8 |
10309 | Ali Rezayi | 1996-09-19 |
10310 | Amir Hosein Sarajian | 1996-09-20 |
انتخاب سه جدول در INNER JOIN
در مثال زیر ما یکسری مقادیر از جداول Orders
و Customers
و Shippers
را انتخاب می کنیم.
SELECT Orders.OrderID, Customers.CustomerName, Shippers.ShipperName
FROM ((Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID)
INNER JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID);
آیا این مطلب برای شما مفید بود ؟