اذهب إلى المحتوى
  • 0

ما الفرق بين inner join و outer join في SQL؟

خالد مرتضى

السؤال

Recommended Posts

  • 0

عند الاستعلام عن بيانات في جدول ما ونريد جلب بيانات من جداول أخرى متعلقة (مرتبطة) ببيانات هذا الجدول فإننا نستخدم الربط Join ولديه نوعين لنفترض أن لدينا جدولين A و B :

  • Inner join أي نريد فقط البيانات في A التي يوجد لها بيانات مقابلة في الجدول الآخر B
     inner-join.jpg.31aa32d65e5563807ad44ecad38a7082.jpg
  • Outer join أي لا يشترط وجود تقابل في البيانات بين A و B وله ثلاث أنواع:
    1. يساري Left أي نريد كل البيانات في A التي يوجد لها ارتباط في B والتي لا يوجد لها ارتباط أيضا (تكون قيمة الأعمدة للجدول B هنا Null)
    2. يميني Right أي نريد كل البيانات في B التي لها ارتباط مع A والتي لا يوجد لها ارتباط أيضا (تكون قيمة الأعمدة للجدول A هنا Null)
    3. كلي Full أي نريد كل البيانات من كلا الجدولين A و B سواء كان بينهما ارتباط أم لم يكن (تكون قيمة الأعمدة التي ليس لها قيمة مقابلة في الجدول الآخر Null)
      outer-join.thumb.jpg.80c1588779a05f0cfc72d12dbec66b0b.jpg
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 1

الinner join يُمثل عملية التقاطع بين المجموعات

set a ={1,3,5,7,8,6}
set b = {2,4,5,6,8}

a inner join b={5,6,8}

الouter join ثُمثل عملية الإتحاد بين المجموعات 

set a ={1,3,5}
set b ={2,4,6}

a outer join b={1,2,3,4,5,6}

ويمكن التعبير عن التداخل الداخلي(inner join) بالsql عن طريق الشفرة البرمجية الأتية

select * from a inner join b on a.a = b.b

وبالنسبة للتداخل الخارجي (outer join) بال sql يتم عن طريق الشفرة البرمجية الأتية

select * from a outer join b on a.a = b.b

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...