PostgreSQL الاتحاد، الاتحاد الكل مع الأمثلة
⚡ ملخص ذكي
PostgreSQL تقوم عبارة UNION بدمج نتائج عبارتين أو أكثر من عبارات SELECT في مجموعة نتائج واحدة وتزيل الصفوف المكررة، بينما تحتفظ عبارة UNION ALL بكل صف، مما يوفر خيارًا أسرع عندما لا تكون التكرارات مهمة.

ما هي تفاصيل PostgreSQL اتحاد؟
استخدم PostgreSQL يتم استخدام عامل UNION لدمج مجموعات النتائج من أكثر من عبارة SELECT في مجموعة نتائج واحدة. يتم التخلص من أي صفوف مكررة من نتائج عبارات SELECT. يعمل عامل UNION في ظل شرطين:
- يجب أن تُرجع استعلامات SELECT نفس عدد الأعمدة.
- يجب أن تكون أنواع البيانات لجميع الأعمدة المقابلة متوافقة.
يتم استخدام عامل UNION عادةً لدمج البيانات من الجداول ذات الصلة التي لم يتم تطبيعها بشكل مثالي.
بناء الجملة
SELECT expression_1, expression_2, ... expression_n FROM tables [WHERE condition(s)] UNION SELECT expression_1, expression_2, ... expression_n FROM tables [WHERE condition(s)];
فيما يلي شرح للمعلمات المذكورة أعلاه:
إن Expression_1، Expression_2، … Expression_n هي الحسابات أو الأعمدة التي تحتاج إلى استردادها.
الجداول هي الجداول التي تحتاج إلى استرداد السجلات منها.
شرط (شروط) WHERE هي الشروط التي يجب استيفاؤها حتى يتم استرداد السجلات.
ملاحظة: بما أن عامل UNION لا يُرجع التكرارات، فإن استخدام UNION DISTINCT لن يكون له أي تأثير على النتائج.
PostgreSQL الاتحاد
يقوم عامل UNION بإزالة العناصر المكررة، بنفس الطريقة التي حدد متميز نعم. دعونا نوضح ذلك. لدينا قاعدة بيانات باسم Demo تحتوي على الجداول التالية:
كتاب:
السعر:
دعونا ننفذ الأمر التالي:
SELECT id FROM Book UNION SELECT id FROM Price;
سوف يقوم الأمر بإرجاع ما يلي:
يظهر عمود المعرف في كل من جدولي الكتاب والسعر. ومع ذلك، فإنه يظهر مرة واحدة فقط في النتيجة. والسبب هو أن PostgreSQL لا يُرجع عامل UNION القيم المكررة.
PostgreSQL الاتحاد الكل
يجمع هذا المشغل مجموعات النتائج من أكثر من عبارة SELECT واحدة دون إزالة التكرارات. يتطلب المشغل أن تحتوي كل عبارة SELECT على عدد مماثل من الحقول في مجموعات النتائج ذات أنواع البيانات المماثلة.
بناء الجملة:
SELECT expression_1, expression_2, ... expression_n FROM tables [WHERE condition(s)] UNION ALL SELECT expression_1, expression_2, ... expression_n FROM tables [WHERE condition(s)];
فيما يلي شرح للمعلمات المذكورة أعلاه:
إن Expression_1، Expression_2، … Expression_n هي الحسابات أو الأعمدة التي تحتاج إلى استردادها.
الجداول هي الجداول التي تحتاج إلى استرداد السجلات منها.
شرط (شروط) WHERE هي الشروط التي يجب استيفاؤها حتى يتم استرداد السجلات.
ملاحظة: يجب أن تحتوي كلتا عبارتي SELECT على عدد متساوٍ من التعبيرات.
سنستخدم الجداول التالية:
كتاب:
السعر:
قم بتشغيل الأمر التالي:
SELECT id FROM Book UNION ALL SELECT id FROM price;
ينبغي أن يعود ما يلي:
لم تتم إزالة التكرارات.
ترتيب حسب
استخدم PostgreSQL يمكن استخدام عامل UNION مع شرط ORDER BY لترتيب نتائج الاستعلام. ولإثبات ذلك، سنستخدم الجداول التالية:
السعر:
السعر2:
فيما يلي الأمر الذي يوضح كيفية استخدام عامل UNION مع شرط ORDER BY:
SELECT * FROM Price UNION SELECT * FROM Price2 ORDER BY price;
سوف يقوم الأمر بإرجاع ما يلي:
تم ترتيب السجلات حسب عمود السعر. يقوم البند بترتيب السجلات بترتيب تصاعدي بشكل افتراضي. لترتيبها تنازليا، أضف جملة DESC كما هو موضح أدناه:
SELECT * FROM Price UNION SELECT * FROM Price2 ORDER BY price DESC;
سوف يقوم الأمر بإرجاع ما يلي:
تم ترتيب السجلات بناءً على عمود السعر بترتيب تنازلي.
متى نستخدم الأمر Union ومتى نستخدم الأمر Union All؟
استخدم عامل UNION عندما يكون لديك عدة جداول ذات بنية متشابهة ولكن تم تقسيمها لسبب ما. وهو مفيد عند الحاجة إلى إزالة السجلات المكررة.
استخدم عامل UNION ALL عندما لا تحتاج إلى إزالة أو حذف السجلات المكررة.
باستخدام pgAdmin
والآن دعونا نرى كيف يتم تنفيذ الإجراءات الثلاثة باستخدام pgAdmin.
كيف تعمل PostgreSQL الاتحاد باستخدام pgAdmin
فيما يلي شرح مفصل لكيفية استخدام PostgreSQL الاتحاد عبر pgAdmin:
الخطوة 1) قم بتسجيل الدخول إلى حساب pgAdmin الخاص بك.
الخطوة 2) من شريط التنقل على اليسار، انقر فوق قواعد البيانات، ثم انقر فوق عرض توضيحي.
الخطوة 3) اكتب الاستعلام في محرر الاستعلام:
SELECT * FROM Price UNION SELECT * FROM Price2 ORDER BY price DESC;
الخطوة 4) انقر فوق الزر "تنفيذ".
ينبغي أن يعود ما يلي:
الاتحاد الكل
الخطوة 1) قم بتسجيل الدخول إلى حساب pgAdmin الخاص بك.
الخطوة 2) من شريط التنقل على اليسار، انقر فوق قواعد البيانات، ثم انقر فوق عرض توضيحي.
الخطوة 3) اكتب الاستعلام في محرر الاستعلام:
SELECT id FROM Book UNION ALL SELECT id FROM price;
الخطوة 4) انقر فوق الزر "تنفيذ".
ينبغي أن يعود ما يلي:
ترتيب حسب
يمكن دمج عامل UNION ALL مع شرط ORDER BY لترتيب النتائج في مجموعة النتائج. على سبيل المثال:
SELECT id FROM Book UNION ALL SELECT id FROM price ORDER BY id;
سوف يقوم الأمر بإرجاع ما يلي:
لقد تم طلب النتائج.
قم بتنزيل قاعدة البيانات المستخدمة في هذا البرنامج التعليمي

















