عبارت inner join در SQL
عبارت INNER JOIN
عبارت کلیدی INNER JOIN سطرهایی را برمی گرداند که در هر دو جدول حداقل یک داده متناظر در ستون های مرتبط شده داشته باشد.
فرم عبارت INNER JOIN:
SELECT column_name(s)
FROM table_name1
INNER JOIN table_name2
ON table_name1.column_name=table_name2.column_name
FROM table_name1
INNER JOIN table_name2
ON table_name1.column_name=table_name2.column_name
مثال:
جدول Persons:
P_Id | LastName | FirstName | Address | City |
---|---|---|---|---|
1 | Hansen | Ola | Timoteivn 10 | Sandnes |
2 | Svendson | Tove | Borgvn 23 | Sandnes |
3 | Pettersen | Kari | Storgt 20 | Stavanger |
جدول Orders:
O_Id | OrderNo | P_Id |
---|---|---|
1 | 77895 | 3 |
2 | 44678 | 3 |
3 | 22456 | 1 |
4 | 24562 | 1 |
5 | 34764 | 15 |
می خواهیم تمامی افراد را به همراه سقارشاتشان لیست کنیم.
از دستور زیر استفاده می کنیم:
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
INNER JOIN Orders
ON Persons.P_Id=Orders.P_Id
ORDER BY Persons.LastName
FROM Persons
INNER JOIN Orders
ON Persons.P_Id=Orders.P_Id
ORDER BY Persons.LastName
نتیجه به شکل زیر خواهد بود:
LastName | FirstName | OrderNo |
---|---|---|
Hansen | Ola | 22456 |
Hansen | Ola | 24562 |
Pettersen | Kari | 77895 |
Pettersen | Kari | 44678 |
عبارت کلیدی INNER JOIN سطرهایی که حداقل یک تناظر در دو جدول داشته باشد را برمی گرداند. اگر فردی در جدول Persons وجود دارد که تناظری در جدول Orders ندارد،آن فرد لیست نمی شود.
برای مشاهده فیلم های آموزشی مقدماتی تا پیشرفته پایگاه داده SQLServer کلیک کنید.
- نوشته شده توسط امیر پهلوان صادق
- بازدید: 25882