✨ مشغل UNION في SQL: أداة قوية لدمج البيانات بذكاء

مشغل UNION هو أحد المشغلات المهمة في لغة SQL الذي يسمح لك بدمج نتائج استعلامين أو أكثر في مجموعة نتائج واحدة. يعمل UNION على جمع الصفوف من جداول متعددة أو استعلامات مختلفة وإظهارها كجدول موحد.


📊 ما هو مشغل UNION؟

UNION هو مشغل مجموعة (Set Operator) يستخدم لدمج نتائج استعلامين SELECT أو أكثر. يشترط أن يكون عدد الأعمدة متطابقاً في جميع الاستعلامات وأن تكون أنواع البيانات متوافقة.

SELECT column1, column2 FROM table1
UNION
SELECT column1, column2 FROM table2;

🔍 الشروط الأساسية لاستخدام UNION

لكي يعمل UNION بشكل صحيح، يجب توافر الشروط التالية:

  • نفس عدد الأعمدة في جميع الاستعلامات
  • أنواع بيانات متوافقة بين الأعمدة المقابلة
  • نفس ترتيب الأعمدة في جميع الاستعلامات
-- مثال صحيح: نفس عدد الأعمدة وأنواعها
SELECT first_name, last_name FROM employees
UNION
SELECT first_name, last_name FROM customers;

🚫 الفرق بين UNION و UNION ALL

يوجد نوعان من مشغل UNION:

  • UNION: يزيل التكرارات تلقائياً
  • UNION ALL: يحتفظ بجميع الصفوف بما فيها المكررة
-- UNION يزيل التكرارات
SELECT city FROM offices
UNION
SELECT city FROM customers;

-- UNIONALL يحتفظ بكل الصفوف
SELECT city FROM offices
UNION ALL
SELECT city FROM customers;

💡 أمثلة عملية على استخدام UNION

المثال 1: دجم بيانات من جدولين مختلفين

SELECT product_name, price FROM electronics
UNION
SELECT product_name, price FROM clothing;

المثال 2: دمج نتائج مع شرط WHERE

SELECT name, salary FROM employees WHERE department = 'IT'
UNION
SELECT name, salary FROM contractors WHERE project = 'Tech';

⚠️ الأخطاء الشائعة وتجنبها

  1. عدد أعمدة غير متطابق: سيظهر خطأ
  2. أنواع بيانات غير متوافقة: قد يعطي نتائج غير متوقعة
  3. ترتيب أعمدة مختلف: سيخلط بين البيانات
-- ❌ خطأ: عدد أعمدة مختلف
SELECT name, age, salary FROM table1
UNION
SELECT name, age FROM table2; -- ناقص عمود

🎯 متى تستخدم UNION؟

  • جمع إحصائيات من جداول متعددة
  • دمج تقارير من فروع مختلفة
  • إنشاء قوائم شاملة من مصادر متعددة
  • توحيد نتائج استعلامات ذات معايير مختلفة

📝 خلاصة الدرس

تعلمنا اليوم أن مشغل UNION هو أداة قوية لدمج نتائج استعلامات متعددة في مجموعة بيانات واحدة. تذكر دائماً التأكد من تطابق عدد الأعمدة وأنواعها وترتيبها قبل استخدام UNION.