PostgreSQL أنواع الوصلات: داخلية، خارجية، يسارية، يمينية
⚡ ملخص ذكي
PostgreSQL تقوم عمليات الربط باسترداد ودمج الصفوف من جدولين أو أكثر باستخدام مفتاح مشترك، وتشمل عمليات الربط الداخلية مثل theta و EQUI و natural، بالإضافة إلى عمليات الربط الخارجية التي تغطي النتائج اليسرى واليمنى والكاملة.

ما هي الانضمامات في PostgreSQL?
PostgreSQL ينضم تُستخدم هذه العمليات لاسترجاع البيانات من أكثر من جدول. باستخدام عمليات الربط (JOIN)، يُمكننا دمج عبارات SELECT وJOIN في عبارة واحدة. يُضاف شرط الربط إلى العبارة، وتُعاد جميع الصفوف التي تُحقق هذا الشرط. تُدمج القيم من الجداول المختلفة بناءً على الأعمدة المشتركة، والتي غالبًا ما تكون مفتاحًا أساسيًا في الجدول الأول ومفتاحًا خارجيًا في الجدول الثاني.
PostgreSQL أنواع الانضمام
هناك نوعان من الانضمامات PostgreSQL:
- ينضم الداخلية
- ينضم الخارجية
PostgreSQL صلة داخلية
هناك 3 أنواع من الانضمامات الداخلية PostgreSQL:
- ثيتا ينضم
- صلة طبيعية
- الانضمام إلى EQUI
ثيتا انضم
يتيح لك الانضمام باستخدام طريقة Theta الانضمام إلى جدولين استنادًا إلى الشرط الذي يمثله استخدام طريقة Theta. يمكن أن تعمل عمليات الانضمام باستخدام طريقة Theta مع جميع مشغلات المقارنة. في معظم الحالات، يشار إلى عملية الانضمام باستخدام طريقة Theta باسم الانضمام الداخلي.
صلة ثيتا هي النوع الأساسي من JOIN. سيعيد كافة الصفوف من الجداول حيث يتم استيفاء شرط JOIN.
بناء الجملة:
SELECT columns FROM table-1 INNER JOIN table-2 ON table-1.column = table-2.column;
خذ بعين الاعتبار الجداول التالية لقاعدة بيانات العرض التوضيحي:
كتاب:
السعر:
نريد أن نرى اسم كل كتاب والسعر المقابل له، يمكننا تشغيل الأمر التالي:
SELECT Book.name, Price.price FROM Book INNER JOIN Price ON Book.id = Price.id;
سيؤدي هذا إلى إرجاع ما يلي:
3 صفوف فقط استوفت شرط الانضمام.
انضم إلى EQUI
توفر لنا صلة EQUI طريقة لربط جدولين بناءً على علاقة المفتاح الأساسي/المفتاح الخارجي. على سبيل المثال:
SELECT * FROM Book JOIN Price ON Book.id = Price.id;
سيؤدي هذا إلى إرجاع ما يلي:
تم إرجاع السجلات من كلا الجدولين بناءً على الأعمدة المشتركة، أي عمود المعرف.
انضمام طبيعي
يوفر لنا هذا النوع من الارتباط طريقة أخرى لكتابة صلة EQUI. يمكننا تحسين مثالنا السابق بإضافة الكلمة الأساسية NATURAL كما هو موضح أدناه:
SELECT * FROM Book NATURAL JOIN Price;
سيؤدي هذا إلى إرجاع ما يلي:
تم إرجاع عمود معرف واحد فقط. تمكنت NATURAL JOIN من ملاحظة أن عمود المعرف شائع في الجدولين. تم إرجاع واحد فقط.
PostgreSQL الانضمام الخارجي
هناك 3 أنواع من الانضمامات الخارجية PostgreSQL:
- ترك صلة خارجية
- حق الانضمام الخارجي
- وصلة خارجية كاملة
PostgreSQL ترك صلة خارجية
ستعيد LEFT OUTER JOIN جميع الصفوف في الجدول على الجانب الأيسر وفقط الصفوف الموجودة في الجدول على الجانب الأيمن حيث تم استيفاء شرط الربط.
بناء الجملة:
SELECT columns FROM table-1 LEFT OUTER JOIN table-2 ON table-1.column = table-2.column;
نحتاج إلى رؤية اسم كل كتاب والسعر المقابل له. يمكننا تشغيل الأمر التالي:
SELECT Book.name, Price.price FROM Book LEFT JOIN Price ON Book.id = Price.id;
هذا يعيد ما يلي:
تم إرجاع كافة الصفوف الأربعة الموجودة في جدول الكتاب. ثلاثة صفوف فقط من جدول الأسعار استوفت شرط الانضمام. ومن ثم تم إعادتهم. الكتاب الأخير ليس له قيمة سعرية مقابلة.
PostgreSQL حق الانضمام الخارجي
تقوم RIGHT OUTER JOIN بإرجاع جميع الصفوف في الجدول على الجانب الأيمن والصفوف الموجودة في الجدول على الجانب الأيسر حيث تم استيفاء شرط الربط.
بناء الجملة:
SELECT columns FROM table-1 RIGHT OUTER JOIN table-2 ON table-1.column = table-2.column;
فمثلا:
SELECT Book.name, Price.price FROM Book RIGHT JOIN Price ON Book.id = Price.id;
هذا يعيد ما يلي:
تم استرجاع جميع الصفوف في جدول الأسعار. تم استرجاع الصفوف في جدول الكتب التي استوفت شرط الربط فقط. الصف الثالث لا يحتوي على قيمة للاسم لعدم وجود تطابق.
الانضمام الخارجي الكامل PostgreSQL
سيعيد هذا النوع من JOIN جميع الصفوف في الجدول على الجانب الأيسر وجميع الصفوف في الجدول على الجانب الأيمن مع القيم الخالية حيث لا يتم استيفاء شرط الربط.
بناء الجملة:
SELECT columns FROM table-1 FULL OUTER JOIN table-2 ON table-1.column = table-2.column;
فمثلا:
SELECT Book.name, Price.price FROM Book FULL OUTER JOIN Price ON Book.id = Price.id;
هذا يعيد ما يلي:
تم إرجاع كافة الصفوف من كافة الجداول، مع القيم الخالية حيث لم يتم العثور على أي تطابق.
باستخدام pgAdmin
يمكن إنجاز المهام المذكورة أعلاه في pgAdmin كما يلي. تشرح الأقسام التالية كل نوع من أنواع الربط خطوة بخطوة.
pgAdmin الانضمام الداخلي
توضح الخطوات التالية كيفية تشغيل كل نوع من أنواع الربط الداخلي في pgAdmin.
كيفية استخدام ثيتا انضم إلينا PostgreSQL باستخدام pgAdmin
فيما يلي خطوات استخدام ثيتا جوين PostgreSQL باستخدام pgAdmin:
الخطوة 1) قم بتسجيل الدخول إلى حساب pgAdmin الخاص بك
افتح pgAdmin وقم بتسجيل الدخول باستخدام بيانات الاعتماد الخاصة بك
الخطوة 2) إنشاء قاعدة بيانات تجريبية
- من شريط التنقل الموجود على اليسار، انقر فوق قواعد البيانات.
- انقر فوق العرض التوضيحي.
الخطوة 3) اكتب الاستعلام
اكتب الاستعلام أدناه في محرر الاستعلام:
SELECT Book.name, Price.price FROM Book INNER JOIN Price ON Book.id = Price.id;
الخطوة 4) تنفيذ الاستعلام
انقر فوق الزر "تنفيذ".
ينبغي أن يعود ما يلي:
انضم إلى EQUI
الخطوة 1) قم بتسجيل الدخول إلى حساب pgAdmin الخاص بك.
الخطوة 2)
- من شريط التنقل الموجود على اليسار، انقر فوق قواعد البيانات.
- انقر فوق العرض التوضيحي.
الخطوة 3) اكتب الاستعلام في محرر الاستعلام:
SELECT * FROM Book JOIN Price ON Book.id = Price.id;
الخطوة 4) انقر فوق الزر "تنفيذ".
ينبغي أن يعود ما يلي:
انضمام طبيعي
الخطوة 1) قم بتسجيل الدخول إلى حساب pgAdmin الخاص بك.
الخطوة 2)
- من شريط التنقل الموجود على اليسار، انقر فوق قواعد البيانات.
- انقر فوق العرض التوضيحي.
الخطوة 3) اكتب الاستعلام في محرر الاستعلام:
SELECT * FROM Book NATURAL JOIN Price;
الخطوة 4) انقر فوق الزر "تنفيذ".
ينبغي أن يعود ما يلي:
pgAdmin الانضمام الداخلي البسيط
الخطوة 1) قم بتسجيل الدخول إلى حساب pgAdmin الخاص بك.
الخطوة 2)
- من شريط التنقل الموجود على اليسار، انقر فوق قواعد البيانات.
- انقر فوق العرض التوضيحي.
الخطوة 3) اكتب الاستعلام في محرر الاستعلام:
SELECT Book.name, Price.price FROM Book INNER JOIN Price ON Book.id = Price.id;
الخطوة 4) انقر فوق الزر "تنفيذ".
ينبغي أن يعود ما يلي:
الانضمام الخارجي pgAdmin
بعد ذلك، قم بتشغيل المتغيرات الثلاثة للربط الخارجي في pgAdmin باستخدام الخطوات أدناه.
ترك صلة خارجية
الخطوة 1) قم بتسجيل الدخول إلى حساب pgAdmin الخاص بك.
الخطوة 2)
- من شريط التنقل الموجود على اليسار، انقر فوق قواعد البيانات.
- انقر فوق العرض التوضيحي.
الخطوة 3) اكتب الاستعلام في محرر الاستعلام:
SELECT Book.name, Price.price FROM Book LEFT JOIN Price ON Book.id = Price.id;
الخطوة 4) انقر فوق الزر "تنفيذ".
ينبغي أن يعود ما يلي:
حق الانضمام الخارجي
الخطوة 1) قم بتسجيل الدخول إلى حساب pgAdmin الخاص بك.
الخطوة 2)
- من شريط التنقل الموجود على اليسار، انقر فوق قواعد البيانات.
- انقر فوق العرض التوضيحي.
الخطوة 3) اكتب الاستعلام في محرر الاستعلام:
SELECT Book.name, Price.price FROM Book RIGHT JOIN Price ON Book.id = Price.id;
الخطوة 4) انقر فوق الزر "تنفيذ".
ينبغي أن يعود ما يلي:
وصلة خارجية كاملة
الخطوة 1) قم بتسجيل الدخول إلى حساب pgAdmin الخاص بك.
الخطوة 2)
- من شريط التنقل الموجود على اليسار، انقر فوق قواعد البيانات.
- انقر فوق العرض التوضيحي.
الخطوة 3) اكتب الاستعلام في محرر الاستعلام:
SELECT Book.name, Price.price FROM Book FULL OUTER JOIN Price ON Book.id = Price.id;
الخطوة 4) انقر فوق الزر "تنفيذ".
ينبغي أن يعود ما يلي:
قم بتنزيل قاعدة البيانات المستخدمة في هذا البرنامج التعليمي





























