عملگر UNION

از ویکی‌کد
پرش به ناوبری پرش به جستجو
Main Page Tutorial
Sql-menu.png
موارد آموزشی
۱خانه
۲مقدمه
۳دستور زبان
۴عبارت SELECT
۵عبارت SELECT DISTINCT
۶شرط WHERE
۷عملگرهای AND, OR, NOT
۸کلمهٔ کلیدی ORDER BY
۹عبارت INSERT INTO
۱۰مقدارهای NULL
۱۱عبارت UPDATE
۱۲عبارت DELETE
۱۳عبارت‌های TOP ،LIMIT یا ROWNUM
۱۴توابع MIN و MAX
۱۵توابع COUNT ،AVG و SUM
۱۶عملگر LIKE
۱۷کاراکترهای Wildcard
۱۸عملگر IN
۱۹عملگر BETWEEN
۲۰نام‌های مستعار (Aliases)
۲۱متصل کردن (Join)
۲۲کلمهٔ کلیدی INNER JOIN
۲۳کلمهٔ کلیدی LEFT JOIN
۲۴کلمهٔ کلیدی RIGHT JOIN
۲۵کلمهٔ کلیدی FULL OUTER JOIN
۲۶دستور Self JOIN
۲۷عملگر UNION
۲۸عبارت GROUP BY
۲۹عبارت HAVING
۳۰عملگر EXISTS
۳۱عملگرهای ANY و ALL
۳۲عبارت SELECT INTO
۳۳عبارت INSERT INTO SELECT
۳۴عبارت CASE
۳۵توابع NULL
۳۶Stored Procedure
۳۷یادداشت‌ها
بانک اطلاعاتی
مرجع
مثال‌ها

عملگر UNION (به انگلیسی: اجتماع) در SQL

عملگر UNION برای ترکیب result-set (مجموعه نتیجه) دو یا چند عبارت SELECT استفاده می‌شود.[۱]

  • عبارت‌های SELECT داخل UNION باید تعداد ستون برابر داشته باشند
  • ستون‌ها باید نوع داده‌های یکسان هم داشته باشند
  • ستون‌ها در هر عبارت SELECT باید ترتیب مشابه نیز داشته باشند
نحو UNION
1 SELECT column_name(s) FROM table1
2 UNION
3 SELECT column_name(s) FROM table2;

نحو UNION ALL

بطور پیش‌فرض عبارت UNION فقط مقدارهای متمایز را انتخاب می‌کند. برای انتخاب مقدارهای تکرارای از UNION ALL استفاده می‌شود:

1 SELECT column_name(s) FROM table1
2 UNION ALL
3 SELECT column_name(s) FROM table2;

توجه: معمولاً نام ستون‌ها در result-set مشابه نام ستون در اولین عبارت SELECT در UNION است.

نسخه نمایشی بانک اطلاعاتی

در این آموزش از بانک اطلاعاتی نمونه معروف Northwind استفاده می‌کنیم.

در ادامه انتخابی از جدول “Customers” آمده‌است:

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

و انتخابی از جدول "Suppliers":

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 UNION

عبارت SQL زیر شهرهایی را (فقط شهرهای متمایز) از هر دو جدول "Customers" و "Suppliers"برمی‌گرداند:

مثال
1 SELECT City FROM Customers
2 UNION
3 SELECT City FROM Suppliers
4 ORDER BY City;

توجه: اگر مشتری‌ها یا تأمین کننده‌ها شهر مشابه داشته باشند، هر شهر فقط یکبار لیست می‌شود، زیرا UNION فقط مقدارهای متمایز را انتخاب می‌کند. برای انتخاب مقدارهای تکراری از UNION ALL استفاده کنید!

مثال SQL UNION ALL

عبارت SQL زیر شهرهایی (و شهرهای تکراری) را از هر دو جدول "Customers" و "Suppliers"را برمی‌گرداند:

مثال
1 SELECT City FROM Customers
2 UNION ALL
3 SELECT City FROM Suppliers
4 ORDER BY City;

SQL UNION با WHERE

عبارت SQL زیر شهرهای آلمانی را (فقط مقادیر متمایز) از هر دو جدول "Customers" و "Suppliers"انتخاب برمی‌گرداند:

مثال
1 SELECT City, Country FROM Customers
2 WHERE Country='Germany'
3 UNION
4 SELECT City, Country FROM Suppliers
5 WHERE Country='Germany'
6 ORDER BY City;

SQL UNION ALL با WHERE

عبارت SQL زیر شهرهای آلمانی (به انگلیسی: German) را (و مقدارهای تکراری) از هر دو جدول "Customers" و "Suppliers"انتخاب برمی‌گرداند:

مثال
1 SELECT City, Country FROM Customers
2 WHERE Country='Germany'
3 UNION ALL
4 SELECT City, Country FROM Suppliers
5 WHERE Country='Germany'
6 ORDER BY City;

مثال دیگری از UNION

عبارت SQL زیر همه مشتری‌ها و تأمین کننده‌ها را لیست می‌کند:

مثال
1 SELECT 'Customer' As Type, ContactName, City, Country
2 FROM Customers
3 UNION
4 SELECT 'Supplier', ContactName, City, Country
5 FROM Suppliers;

به عبارت "AS Type" در بالا دقت کنید – این یک نام مستعار است. نام‌های مستعار SQL برای یک جدول داده شده یا یک ستون، یک نام موقت ایجاد می‌کند. نام مستعار فقط به اندازه مدت زمان یک پرس‌وجو وجود خواهد داشت؛ بنابراین، در اینجا ما یک ستون موقت “Type” را ایجاد کرده‌ایم که لیست می‌کند آیا شخص مخاطب یک "Customer" است یا یک "Supplier".


منابع آموزشی