MySQL الاتحاد – البرنامج التعليمي الكامل
ما هو الاتحاد؟
تقوم الاتحادات بدمج النتائج من استعلامات SELECT المتعددة في مجموعة نتائج موحدة.
المتطلبات الوحيدة لكي يعمل هذا هو أن عدد الأعمدة يجب أن يكون هو نفسه من جميع استعلامات SELECT التي يجب دمجها.
لنفترض أن لدينا جدولين على النحو التالي
لنقم الآن بإنشاء استعلام UNION لدمج كلا الجدولين باستخدام DISTINCT
SELECT column1, column2 FROM `table1` UNION DISTINCT SELECT column1,column2 FROM `table2`;
هنا تتم إزالة الصفوف المكررة ويتم إرجاع الصفوف الفريدة فقط.
ملحوظة: MySQL يستخدم جملة DISTINCT كإعداد افتراضي عند تنفيذ استعلامات UNION إذا لم يتم تحديد أي شيء.
لنقم الآن بإنشاء استعلام UNION لدمج كلا الجدولين باستخدام الكل
SELECT `column1`,` column1` FROM `table1` UNION ALL SELECT ` column1`,` column1` FROM `table2`;
هنا يتم تضمين الصفوف المكررة وبما أننا نستخدم ALL.
لماذا استخدام النقابات؟
لنفترض أن هناك خللًا في تصميم قاعدة البيانات الخاصة بك وأنك تستخدم جدولين مختلفين مخصصين لنفس الغرض. تريد دمج هذين الجدولين في جدول واحد مع حذف أي سجلات مكررة من الزحف إلى الجدول الجديد. يمكنك استخدام UNION في مثل هذه الحالات.
الملخص
- يتم استخدام أمر UNION لدمج أكثر من نتيجة استعلام SELECT في استعلام واحد يحتوي على صفوف من كافة استعلامات التحديد.
- عدد الأعمدة وأنواع البيانات في حدد البيانات يجب أن يكون هو نفسه حتى يعمل أمر UNION.
- يتم استخدام جملة DISTINCT لإزالة القيم المكررة من مجموعة نتائج استعلام UNION. MySQL يستخدم جملة DISTINCT كإعداد افتراضي عند تنفيذ استعلامات UNION إذا لم يتم تحديد أي شيء.
- يتم استخدام جملة ALL لإرجاع كافة الصفوف المكررة في استعلام UNION.
أمثلة عملية باستخدام MySQL طاولة العمل
في myFlixDB لدينا يتيح الجمع
رقم العضوية والأسماء الكاملة من جدول الأعضاء
مع
movie_id والعنوان من جدول الأفلام
يمكننا استخدام الاستعلام التالي
SELECT `membership_number`,`full_names` FROM `members` UNION SELECT `movie_id`,`title` FROM `movies`;
تنفيذ البرنامج النصي أعلاه في MySQL طاولة العمل مقابل myflixdb يعطينا النتائج التالية الموضحة أدناه.
membership_number | full_names |
---|---|
1 | Janet Jones |
2 | Janet Smith Jones |
3 | Robert Phil |
4 | Gloria Williams |
5 | Leonard Hofstadter |
6 | Sheldon Cooper |
7 | Rajesh Koothrappali |
8 | Leslie Winkle |
9 | Howard Wolowitz |
16 | 67% Guilty |
6 | Angels and Demons |
4 | Code Name Black |
5 | Daddy's Little Girls |
7 | Davinci Code |
2 | Forgetting Sarah Marshal |
9 | Honey mooners |
19 | movie 3 |
1 | Pirates of the Caribean 4 |
18 | sample movie |
17 | The Great Dictator |
3 | X-Men |