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