مشغل MySQL UNION
مشغل MySQL UNION
يتم UNION
استخدام عامل التشغيل لدمج مجموعة النتائج المكونة من عبارتين أو أكثر
SELECT
.
- يجب أن يكون لكل
SELECT
عبارة داخلUNION
نفس عدد الأعمدة - يجب أن تحتوي الأعمدة أيضًا على أنواع بيانات مماثلة
- يجب أيضًا أن تكون الأعمدة في كل
SELECT
عبارة بنفس الترتيب
بناء جملة الاتحاد
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;
اتحاد جميع النحو
يقوم UNION
عامل التشغيل بتحديد القيم المميزة فقط بشكل افتراضي. للسماح بالقيم المكررة ، استخدم UNION ALL
:
SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;
ملاحظة: عادةً ما تكون أسماء الأعمدة في مجموعة النتائج مساوية لأسماء الأعمدة في SELECT
العبارة الأولى.
قاعدة بيانات تجريبية
سنستخدم في هذا البرنامج التعليمي نموذج قاعدة بيانات Northwind المعروفة.
يوجد أدناه مجموعة مختارة من جدول "العملاء":
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 |
Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
واختيار من جدول "الموردين":
SupplierID | SupplierName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Exotic Liquid | Charlotte Cooper | 49 Gilbert St. | London | EC1 4SD | UK |
2 | New Orleans Cajun Delights | Shelley Burke | P.O. Box 78934 | New Orleans | 70117 | USA |
3 | Grandma Kelly's Homestead | Regina Murphy | 707 Oxford Rd. | Ann Arbor | 48104 | USA |
مثال على اتحاد SQL
تعرض عبارة SQL التالية المدن (القيم المميزة فقط) من جدول "العملاء" و "الموردون":
مثال
SELECT City FROM Customers
UNION
SELECT City FROM Suppliers
ORDER BY City;
ملاحظة: إذا كان لدى بعض العملاء أو الموردين نفس المدينة ، فسيتم إدراج كل مدينة مرة واحدة فقط ، لأنها UNION
تحدد قيمًا مميزة فقط. استخدم
UNION ALL
أيضًا لتحديد القيم المكررة!
SQL UNION ALL مثال
تعرض عبارة SQL التالية المدن (قيم مكررة أيضًا) من كل من جدول "العملاء" و "الموردون":
مثال
SELECT City FROM Customers
UNION ALL
SELECT City FROM Suppliers
ORDER BY City;
اتحاد SQL مع أين
تعرض عبارة SQL التالية المدن الألمانية (قيم مميزة فقط) من كل من جدول "العملاء" و "الموردون":
مثال
SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;
SQL UNION ALL With WHERE
تعرض عبارة SQL التالية المدن الألمانية (قيم مكررة أيضًا) من كل من جدول "العملاء" و "الموردون":
مثال
SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION ALL
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;
مثال آخر على الاتحاد
يسرد بيان SQL التالي جميع العملاء والموردين:
مثال
SELECT 'Customer' AS Type, ContactName, City, Country
FROM Customers
UNION
SELECT 'Supplier', ContactName, City, Country
FROM Suppliers;
لاحظ "AS Type" أعلاه - إنه اسم مستعار. تُستخدم الأسماء المستعارة لـ SQL لمنح جدول أو عمود اسمًا مؤقتًا. اسم مستعار موجود فقط لمدة الاستعلام. لذلك ، قمنا هنا بإنشاء عمود مؤقت باسم "النوع" ، والذي يسرد ما إذا كان الشخص الذي يمكن الاتصال به "عميل" أو "مورد".