تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
لفهم كيفية الربط الذي يتم بين الجداول
#1
يوجد عدة طرق مختلفة من الربط كما بالشكل التالي:
وكلكم مر بها واستخدمها

PHP كود :
INNER JOIN
LEFT JOIN
RIGHT JOIN
OUTER JOIN
LEFT JOIN EXCLUDING INNER JOIN
RIGHT JOIN EXCLUDING INNER JOIN
OUTER JOIN EXCLUDING INNER JOIN 


الخيار الاول هو اكثر الخيارات شيوعا واستخداما وهو INNER JOIN



سيقوم هذا الاستعلام بإرجاع كافة السجلات في الجدول الأيسر (الجدول أ) التي لها سجل مطابق في الجدول الأيمن (الجدول ب). 
وجملة الاستعلام كمثال هي كالتالي .

PHP كود :
SELECT <select_list
FROM Table_A A
INNER JOIN Table_B B
ON A
.Key B.Key 

المفتاح الثاني هو LEFT JOIN
سييقوم هذا الاستعلام بإرجاع كافة السجلات الموجودة في الجدول الأيسر (الجدول أ) بغض النظر إذا كان أي من تلك السجلات لديه تطابق في الجدول الصحيح (الجدول ب). 



جملة الاستعلام كمثال

PHP كود :
SELECT <select_list>
FROM Table_A A
LEFT JOIN Table_B B
ON A
.Key B.Key 

المفتاح الثالث RIGHT JOIN
سييقوم هذا الاستعلام بإرجاع كافة السجلات الموجودة في الجدول الأيسر (الجدول ب) بغض النظر إذا كان أي من تلك السجلات لديه تطابق في الجدول الأيسر (الجدول أ). 



جملة الاستعلاك كمثال هي

PHP كود :
SELECT <select_list>
FROM Table_A A
RIGHT JOIN Table_B B
ON A
.Key B.Key 

المفتاح الرابع هو OUTER JOIN

سيقوم هذا الاستعلام بإرجاع كافة السجلات من كلا الجدولين ضم السجلات من الجدول الأيسر (الجدول أ) التي تطابق السجلات من الجدول الصحيح (الجدول ب). 
وتقوم المفاتيح التالية بنفس الشئ ايضا " FULL OUTER JOINأو" FULL JOIN



جملة الاستعلام كمثال

PHP كود :
SELECT <select_list>
FROM Table_A A
FULL OUTER JOIN Table_B B
ON A
.Key B.Key 

المفتاح الخامس هو LEFT JOIN EXCLUDING INNER JOIN
سيقوم هذا الاستعلام بإرجاع كافة السجلات الموجودة في الجدول الأيسر (الجدول أ) التي لا تتطابق مع أية سجلات في الجدول الأيمن (الجدول ب).


جملة الاستعلام هي

PHP كود :
SELECT <select_list
FROM Table_A A
LEFT JOIN Table_B B
ON A
.Key B.Key
WHERE B
.Key IS NULL 



المفتاح السادس هو RIGHT JOIN EXCLUDING INNER JOIN
سيقوم هذا الاستعلام بإرجاع كافة السجلات الموجودة في الجدول الأيمن (الجدول ب) التي لا تتطابق مع أي سجلات في الجدول الأيسر (الجدول أ).




جملة الاستعلام هي
PHP كود :
SELECT <select_list>
FROM Table_A A
RIGHT JOIN Table_B B
ON A
.Key B.Key
WHERE A
.Key IS NULL 

المفتاح السابع هو OUTER JOIN EXCLUDING INNER JOIN
سيقوم هذا الاستعلام بإرجاع كافة السجلات الموجودة في الجدول الأيسر (الجدول أ) وكافة السجلات الموجودة في الجدول الأيسر (الجدول ب) غير المتطابقة



جملة الاستعلام هي

PHP كود :
SELECT <select_list>
FROM Table_A A
FULL OUTER JOIN Table_B B
ON A
.Key B.Key
WHERE A
.Key IS NULL OR B.Key IS NULL 


هذه هما الجدولين الذين تم استخدامهما في المثال

PHP كود :
TABLE_A
  PK Value
---- ----------
 
  1 FOX
   2 COP
   3 TAXI
   6 WASHINGTON
   7 DELL
   5 ARIZONA
   4 LINCOLN
  10 LUCENT

TABLE_B
  PK Value
---- ----------
 
  1 TROT
   2 CAR
   3 CAB
   6 MONUMENT
   7 PC
   8 MICROSOFT
   9 APPLE
  11 SCOTCH 


الان اذا طبقنا او اظهرنا النتائج ليست مصورة وانما حقيقة ، من فوق جملة الاستعلام ومن تحت النتيجة

PHP كود :
-- INNER JOIN
SELECT A
.PK AS A_PKA.Value AS A_Value,
 
      B.Value AS B_ValueB.PK AS B_PK
FROM Table_A A
INNER JOIN Table_B B
ON A
.PK B.PK

A_PK A_Value    B_Value    B_PK
---- ---------- ---------- ----
 
  1 FOX        TROT          1
   2 COP        CAR           2
   3 TAXI       CAB           3
   6 WASHINGTON MONUMENT      6
   7 DELL       PC            7

يعود بخمسة صفوف 


PHP كود :
-- LEFT JOIN
SELECT A
.PK AS A_PKA.Value AS A_Value,
B.Value AS B_ValueB.PK AS B_PK
FROM Table_A A
LEFT JOIN Table_B B
ON A
.PK B.PK

A_PK A_Value    B_Value    B_PK
---- ---------- ---------- ----
 
  1 FOX        TROT          1
   2 COP        CAR           2
   3 TAXI       CAB           3
   4 LINCOLN    NULL       NULL
   5 ARIZONA    NULL       NULL
   6 WASHINGTON MONUMENT      6
   7 DELL       PC            7
  10 LUCENT     NULL       NULL

يعود بثمانية صفوف 


PHP كود :
-- RIGHT JOIN
SELECT A
.PK AS A_PKA.Value AS A_Value,
B.Value AS B_ValueB.PK AS B_PK
FROM Table_A A
RIGHT JOIN Table_B B
ON A
.PK B.PK

A_PK A_Value    B_Value    B_PK
---- ---------- ---------- ----
 
  1 FOX        TROT          1
   2 COP        CAR           2
   3 TAXI       CAB           3
   6 WASHINGTON MONUMENT      6
   7 DELL       PC            7
NULL NULL       MICROSOFT     8
NULL NULL       APPLE         9
NULL NULL       SCOTCH       11

يعود بثمانية صفوف 


PHP كود :
-- OUTER JOIN
SELECT A
.PK AS A_PKA.Value AS A_Value,
B.Value AS B_ValueB.PK AS B_PK
FROM Table_A A
FULL OUTER JOIN Table_B B
ON A
.PK B.PK

A_PK A_Value    B_Value    B_PK
---- ---------- ---------- ----
 
  1 FOX        TROT          1
   2 COP        CAR           2
   3 TAXI       CAB           3
   6 WASHINGTON MONUMENT      6
   7 DELL       PC            7
NULL NULL       MICROSOFT     8
NULL NULL       APPLE         9
NULL NULL       SCOTCH       11
   5 ARIZONA    NULL       NULL
   4 LINCOLN    NULL       NULL
  10 LUCENT     NULL       NULL

يعود بي 11 صف 


PHP كود :
-- LEFT EXCLUDING JOIN
SELECT A
.PK AS A_PKA.Value AS A_Value,
B.Value AS B_ValueB.PK AS B_PK
FROM Table_A A
LEFT JOIN Table_B B
ON A
.PK B.PK
WHERE B
.PK IS NULL

A_PK A_Value    B_Value    B_PK
---- ---------- ---------- ----
 
  4 LINCOLN    NULL       NULL
   5 ARIZONA    NULL       NULL
  10 LUCENT     NULL       NULL

يعود بثلاثة صفوف 


PHP كود :
-- RIGHT EXCLUDING JOIN
SELECT A
.PK AS A_PKA.Value AS A_Value,
B.Value AS B_ValueB.PK AS B_PK
FROM Table_A A
RIGHT JOIN Table_B B
ON A
.PK B.PK
WHERE A
.PK IS NULL

A_PK A_Value    B_Value    B_PK
---- ---------- ---------- ----
NULL NULL       MICROSOFT     8
NULL NULL       APPLE         9
NULL NULL       SCOTCH       11

يعود بثلاثة صفوف 


PHP كود :
-- OUTER EXCLUDING JOIN
SELECT A
.PK AS A_PKA.Value AS A_Value,
B.Value AS B_ValueB.PK AS B_PK
FROM Table_A A
FULL OUTER JOIN Table_B B
ON A
.PK B.PK
WHERE A
.PK IS NULL
OR B.PK IS NULL

A_PK A_Value    B_Value    B_PK
---- ---------- ---------- ----
NULL NULL       MICROSOFT     8
NULL NULL       APPLE         9
NULL NULL       SCOTCH       11
   5 ARIZONA    NULL       NULL
   4 LINCOLN    NULL       NULL
  10 LUCENT     NULL       NULL

يعود بستة صفوف 

اخيرا هذه هي كل عمليات الربط معا

الرد }}}
#2
مجهود ممتاز
الرد }}}
تم الشكر بواسطة: viv , asemshahen5
#3
جزاك الله خيرا
لا إله إلا الله وحده لا شريك له له الملك وله الحمد وهو على كل شئ قدير
سبحان الله وبحمده سبحان الله العظيم
سبحان الله والحمد لله ولا إله إلا الله والله أكبر ولا حول ولا قوة إلا بالله العلى العظيم
رب أغفر لي 

الرد }}}
تم الشكر بواسطة: viv , asemshahen5
#4
جزاك الله كل خير على هالجهد والعلم وعوضك الجنة ووالديك
الرد }}}
تم الشكر بواسطة: viv , asemshahen5
#5
هذا الموضوع الذي ابحث عنه وخاصه اني في اول الطريق
بارك الله فيك وذاد علمك
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سلسلة تعليمية] شرح تفصيلي وكامل عن كيفية الاتصال بسيكوال وعمل اتاش برمجي وجلب اسماء السيرفرات ابو انس 3 3,621 25-02-22, 12:44 AM
آخر رد: atefkhalf2004
Photo كيفية اطهار جدول داخل الأخر alsouf 3 4,470 21-11-20, 09:15 AM
آخر رد: Anas Mahmoud
  مثال للتعامل مع الجداول المرتبطة - عن طريق الكلاسات ابو ليلى 25 15,192 04-10-20, 06:16 PM
آخر رد: محمد بن عطية
  [VB.NET] كيفية استخدام اداوات ديف اكسبريس devexpressلادخال السجلات الى قاعدة بيانات نوع اكسس 13adam123 0 2,579 29-03-20, 12:50 PM
آخر رد: 13adam123
Star [مقال] كيفية تحويل اسعار العملات بإستخدام Yahoo Exchange Rates Web Service Programmation 9 8,956 22-02-20, 12:58 PM
آخر رد: دمعة المقهور
Exclamation كيفية تجاوز ظهور الخطا في Global.WindowsApplication1.My.Resources الرائد 0 2,549 13-08-19, 11:40 PM
آخر رد: الرائد
  [درس فيديو] كيفية استخدام الجملة الشرطية if alims 1 3,333 22-07-19, 06:38 AM
آخر رد: سعود
  العلاقات بين الجداول-الاضافة و الحذف و التعديل-برنامج لحفظ مصادر الموقع ابو ليلى 13 16,912 04-04-19, 10:08 PM
آخر رد: اباذر
  كيفية عمل برنامج للأذان + قاعدة بيانات لـ 252 دولة و 9512 مدينة ! : مبرمج أوتار 4 23,517 21-01-19, 03:43 PM
آخر رد: elgokr
  درس: كيفية حساب عدد الأسطر في نص المبرمج الطموح vb6 5 7,393 26-12-17, 09:46 PM
آخر رد: abo.alaa315

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم