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