علیرضا احمدی بابلانی : وب مهراز - جامعه برنامه نویسی ایران

تفاوت بین INNER JOIN و OUTER JOIN در چیست ؟

تفاوت بین INNER JOIN و  OUTER JOIN در چیست ؟ در صورت امکان بطور کامل شرح بدید تشکر

پاســخ ها

4fd89ad6639e4081bec15a86f3f5675d
آراد جهان : برای توضیح تفاوت این دو فرض کنید دو جدول A و B  داریم: فرض میکنیم که هر رو این جدول ها هم یک ستون دارند:

A    B
-    -
1    3
2    4
3    5
4    6
توجه کنید که 1 و 2 برای  جدول A منحصر به فردند
و 5 و 6 برای جدول B منحصر به فرد هستند
3 و 4 نیز برای هر دو جدول مشترک هستند.

INNER JOIN

select * from A INNER JOIN B on A.A = B.B;
select A.*,B.*  from A,B where A.A = B.B;

// نتیجه
A | B --+-- 3 | 3 4 | 4

دیدید که INNER JOIN نتایج مشترک را نمایش میدهد



LEFT OUTER JOIN

select * from a LEFT OUTER JOIN B on A.A = B.B;
select A.*,B.*  from A,B where A.A = B.B(+);


// نتیجه

A | B --+----- 1 | null 2 | null 3 | 3 4 | 4
میبینیم که LEFT OUTER JOIN همه نتایج از جدول A رو بر میگردونه  ولی چون در دو مورد با جدول B مشترک نیست اون دو مقدار در B مقدار NULL برمیگردونن.



FULL OUTER JOIN


select * from A FULL OUTER JOIN B on A.A = B.B;

// نتیجه
A | B -----+----- 1 | null 2 | null 3 | 3 4 | 4 null | 6 null | 5
در FULL OUTER JOIN  همه مقدارهای جدول A و همه مقدار های جدول B حضور دارند اما تفاوت در این است
که مقادیری از A که در B معادلی نداشته اند در جدول B  مقدار NULL برمیگردانند و
قادیری از B که در A معادلی نداشته اند در جدول A  مقدار NULL برمیگردانند .
چهارشنبه 02 ارديبهشت 1394 ساعت : 48 : 22
4fd89ad6639e4081bec15a86f3f5675d
آراد جهان : برای درک تفاوت INNER JOIN و OUTER JOIN  مقالات زیر که توسط W3SCHOOLS ارایه شده را مطالعه بفرمایید :

1.   http://www.w3schools.com/sql/sql_join.asp
2.   http://www.w3schools.com/sql/sql_join_inner.asp
3.   http://www.w3schools.com/sql/sql_join_left.asp
4.   http://www.w3schools.com/sql/sql_join_right.asp
5.   http://www.w3schools.com/sql/sql_join_full.asp 

جمعه 22 اسفند 1393 ساعت : 0 : 15
تعداد بازدید : 2814
ارسال به دوستان

ارسال