عملگر UNION در SQL

  /  SQL   /  عملگر UNION در SQL

از عملگر UNION در SQL برای ترکیب مجموعه نتایج دو یا چند دستور SELECT استفاده می شود.

  • هر دستور SELECT در UNION باید تعداد ستون های یکسانی داشته باشد
  • ستون ها نیز باید دارای انواع داده مشابه باشند
  • ستون های هر دستور SELECT باید ترتیب داشته باشند

برای درک بهتر این آموزش باید آموزش های لیست شده در زیر را یاد داشته باشید:

  1. دستور SELECT
  2. دستور ORDER BY
  3. دستور WHERE
  4. نحوه ایجاد نام مستعار alias

نحوه استفاده از عملگر UNION

SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;

ساختار UNION ALL

عملگر UNION به طور پیش فرض فقط مقادیر متمایز ( غیر تکراری ) را انتخاب می کند. برای انتخاب تمامی مقادیر حتی مقادیر تکراری از UNION ALL استفاده کنید:

SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;

یادداشت: معمولاً نام تمامی ستون ها در خروجی برابر با نام ستون های اولین دستور SELECT است.

مثال برای UNION

دستور SQL زیر تمامی شهر های متمایز ( غیر تکراری ) جداول "Customers" و "Suppliers" را انتخاب می کند.

SELECT City FROM Customers
UNION
SELECT City FROM Suppliers
ORDER BY City;

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

مثال برای UNION ALL

دستور SQL زیر تمامی شهر ها ( حتی شهر های تکراری ) را از جداول "Customers" و "Suppliers" انتخاب می کند.

SELECT City FROM Customers
UNION ALL
SELECT City FROM Suppliers
ORDER BY City;

مثال برای UNION همراه با شرط WHERE

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

SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;

مثال های بیشتر

دستور SQL زیر تمامی ستون های جداول Customers و Suppliers را لیست می کند:

SELECT 'Customer' AS Type, ContactName, City, Country
FROM Customers
UNION
SELECT 'Supplier', ContactName, City, Country
FROM Suppliers;

همانطور که در مثال بالا مشاهده میکنید ما با استفاده از دستور AS یک نام مستعار برای ستون Customer ایجاد کرده ایم.

نمونه خروجی

TypeContactNameCityCountry
CustomerAlejandra CaminoMadridSpain
CustomerAlexander FeuerLeipzigGermany
SupplierRegina MurphyAnn ArborUSA
SupplierRobb MerchantBostonUSA
5/5 - (1 امتیاز)

برای دسترسی به آموزش های بیشتر و ویدیو های من ، کلمه کلیدی متین برونسی را داخل گوگل سرچ کنید.

ارسال یک نظر