UNION در SQL
یادگیری SQLاپراتور UNION برای ترکیب نتایج دو یا چند عبارت در SELECT استفاده می شود.
- هر عبارت SELECT درون اتحاد باید دارای همان ستون باشد
- ستون ها همچنین باید انواع داده های مشابه داشته باشند
- ستون ها در هر عبارت SELECT نیز باید در یک جهت باشند
ساختار UNION
FROM table1
UNION SELECT column_name(s) FROM table2;
ساختار UNION ALL
اپراتور UNION به طور پیش فرض فقط مقادیر متمایز را انتخاب می کند. برای اجازه دادن به مقادیر تکراری، از UNION ALL استفاده کنید:
FROM table1
UNION ALL SELECT column_name(s) FROM table2;
توجه: نام ستون در نتیجه مجموعه معمولا برابر با نام ستون در اولین عبارت SELECT است.
یک انتخاب از جدول "Customers" نگاه کنید:
سپس یک انتخاب از جدول " Suppliers" نگاه کنیم:
مثال UNION
دستور SQL زیر همه شهرهای مختلف (تنها مقادیر متمایز) را از « Customers» و « Suppliers » انتخاب می کند:
FROM Customers
UNION SELECT City
FROM Suppliers ORDER BY City
نتیجه به شکل زیر خواهد بود :
توجه: اگر برخی از مشتریان یا تامین کنندگان یک شهر داشته باشند، هر شهر تنها یک بار فهرست می شود، زیرا UNION تنها مقادیر مشخصی را انتخاب می کند. از UNION ALL برای انتخاب مقادیر تکراری استفاده کنید!
مثال UNION ALL
دستور SQL زیر همه شهرهای مختلف (مقادیر تکراری) را از « Customers» و « Suppliers » انتخاب می کند:
FROM Customers
UNION ALL SELECT City
FROM Suppliers ORDER BY City;
UNION با WHERE
دستور SQL زیر تمام شهرهای مختلف آلمان (تنها مقادیر متمایز) را از « Customers » و « Suppliers» انتخاب می کند:
FROM Customers
WHERE Country='Germany'
UNION SELECT City, Country
FROM Suppliers
WHERE Country='Germany'
ORDER BY City;
UNION ALL با WHERE
دستورSQL زیر تمام شهرهای آلمان (مقادیر تکراری) را از « Customers » و « Suppliers» نیز انتخاب می کند:
FROM Customers
WHERE Country='Germany'
UNION ALL SELECT City, Country
FROM Suppliers
WHERE Country='Germany'
ORDER BY City;
مثالی دیگر از UNION
دستور SQL زیر تمام مشتریان و تامین کنندگان را لیست می کند:
FROM Customers
UNION
SELECT 'Supplier', ContactName, City, Country
FROM Suppliers;
نظر شما
>