
عملگر UNION در SQL
از عملگر UNION در SQL برای ترکیب مجموعه نتایج دو یا چند دستور SELECT
استفاده می شود.
- هر دستور SELECT در UNION باید تعداد ستون های یکسانی داشته باشد
- ستون ها نیز باید دارای انواع داده مشابه باشند
- ستون های هر دستور SELECT باید ترتیب داشته باشند
برای درک بهتر این آموزش باید آموزش های لیست شده در زیر را یاد داشته باشید:
نحوه استفاده از عملگر 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 ایجاد کرده ایم.
نمونه خروجی
Type | ContactName | City | Country |
---|---|---|---|
Customer | Alejandra Camino | Madrid | Spain |
Customer | Alexander Feuer | Leipzig | Germany |
Supplier | Regina Murphy | Ann Arbor | USA |
Supplier | Robb Merchant | Boston | USA |
آیا این مطلب برای شما مفید بود ؟
بيمارى و پاك شدن گناهان
و به يكى از يارانش كه بيمار بود فرمود: خدا آنچه را كه از آن شكايت دارى (بيمارى) موجب كاستن گناهانت قرار داد، در بيمارى پاداشى نيست امّا گناهان را از بين مى برد، و آنها را چونان برگ پاييزى مى ريزد، و همانا پاداش در گفتار به زبان، و كردار با دست ها و قدم هاست. و خداى سبحان به خاطر نيّت راست، و درون پاك، هر كس از بندگانش را كه بخواهد وارد بهشت خواهد كرد.
(سید رضی مى گويد: راست گفت امام على عليه السّلام «درود خدا بر او باد» كه بيمارى پاداشى ندارد، بيمارى از چيزهائى است كه استحقاق عوض دارد، و عوض در برابر رفتار خداوند بزرگ است نسبت به بنده خود، در ناملايمات زندگى و بيمارى ها و همانند آنها، امّا اجر و پاداش در برابر كارى است كه بنده انجام مى دهد. پس بين اين دو تفاوت است كه امام عليه السّلام آن را با علم نافذ و رأى رساى خود، بيان فرمود).
حکمت 42 نهج البلاغه