12-05-18, 12:24 AM
يوجد عدة طرق مختلفة من الربط كما بالشكل التالي:
وكلكم مر بها واستخدمها
الخيار الاول هو اكثر الخيارات شيوعا واستخداما وهو INNER JOIN
سيقوم هذا الاستعلام بإرجاع كافة السجلات في الجدول الأيسر (الجدول أ) التي لها سجل مطابق في الجدول الأيمن (الجدول ب).
وجملة الاستعلام كمثال هي كالتالي .
المفتاح الثاني هو LEFT JOIN
سييقوم هذا الاستعلام بإرجاع كافة السجلات الموجودة في الجدول الأيسر (الجدول أ) بغض النظر إذا كان أي من تلك السجلات لديه تطابق في الجدول الصحيح (الجدول ب).
جملة الاستعلام كمثال
المفتاح الثالث RIGHT JOIN
سييقوم هذا الاستعلام بإرجاع كافة السجلات الموجودة في الجدول الأيسر (الجدول ب) بغض النظر إذا كان أي من تلك السجلات لديه تطابق في الجدول الأيسر (الجدول أ).
جملة الاستعلاك كمثال هي
المفتاح الرابع هو OUTER JOIN
سيقوم هذا الاستعلام بإرجاع كافة السجلات من كلا الجدولين ضم السجلات من الجدول الأيسر (الجدول أ) التي تطابق السجلات من الجدول الصحيح (الجدول ب).
وتقوم المفاتيح التالية بنفس الشئ ايضا " FULL OUTER JOINأو" FULL JOIN
جملة الاستعلام كمثال
المفتاح الخامس هو LEFT JOIN EXCLUDING INNER JOIN
سيقوم هذا الاستعلام بإرجاع كافة السجلات الموجودة في الجدول الأيسر (الجدول أ) التي لا تتطابق مع أية سجلات في الجدول الأيمن (الجدول ب).
جملة الاستعلام هي
المفتاح السادس هو RIGHT JOIN EXCLUDING INNER JOIN
سيقوم هذا الاستعلام بإرجاع كافة السجلات الموجودة في الجدول الأيمن (الجدول ب) التي لا تتطابق مع أي سجلات في الجدول الأيسر (الجدول أ).
جملة الاستعلام هي
المفتاح السابع هو OUTER JOIN EXCLUDING INNER JOIN
سيقوم هذا الاستعلام بإرجاع كافة السجلات الموجودة في الجدول الأيسر (الجدول أ) وكافة السجلات الموجودة في الجدول الأيسر (الجدول ب) غير المتطابقة
جملة الاستعلام هي
هذه هما الجدولين الذين تم استخدامهما في المثال
الان اذا طبقنا او اظهرنا النتائج ليست مصورة وانما حقيقة ، من فوق جملة الاستعلام ومن تحت النتيجة
اخيرا هذه هي كل عمليات الربط معا
وكلكم مر بها واستخدمها
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_PK, A.Value AS A_Value,
B.Value AS B_Value, B.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_PK, A.Value AS A_Value,
B.Value AS B_Value, B.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_PK, A.Value AS A_Value,
B.Value AS B_Value, B.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_PK, A.Value AS A_Value,
B.Value AS B_Value, B.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_PK, A.Value AS A_Value,
B.Value AS B_Value, B.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_PK, A.Value AS A_Value,
B.Value AS B_Value, B.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_PK, A.Value AS A_Value,
B.Value AS B_Value, B.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
يعود بستة صفوف
اخيرا هذه هي كل عمليات الربط معا