Изграждане на обединения. Използване на оператора UNION
| Информационни технологии | 2009-12-04 | 46 сваляния |
3
Изграждане на обединения. Използване на оператора UNION
Операторът UNION комбинира два или повече резултатни набора в един, ако имат един и същ брой колони и съвместими типове данни.
По подразбиране дублиращите се редове се елиминират, но може да се включат чрез UNION ALL.
За сортиране на резултата се използва ORDER BY след последната конструкция SELECT.
Например:
1) Извеждане на имената и градовете на всички клиенти и доставчици съответно с надписи "Customer" и "Supplier".
SELECT CompanyName, City, "Customer" AS Label
FROM Customers
UNION
SELECT CompanyName, City, "Supplier" AS Label
FROM Suppliers;
2) Извеждане на имената, продажните цени и продадените количества на продуктите с продадено количество, по-малко или равно на 5, както и тези с продадено количество, по-голямо или равно на 10 с елиминиране на дублиращите се редове от резултатния набор.
SELECT p.ProductName, sd.Price, sd.Quantity
FROM Products p
INNER JOIN SaleDetails sd ON p.ProductID = sd.ProductID
WHERE sd.Quantity <= 5
UNION
SELECT p.ProductName, sd.Price, sd.Quantity
FROM Products p
INNER JOIN SaleDetails sd ON p.ProductID = sd.ProductID
WHERE sd.Quantity >= 10;
Тази заявка е еквивалентна на следната:
SELECT DISTINCT p.ProductName, sd.Price, sd.Quantity
FROM Products p
INNER JOIN SaleDetails sd ON p.ProductID = sd.ProductID
WHERE sd.Quantity <= 5 OR sd.Quantity >= 10;
Към дадена колона от обединението може да се прави обръщение, като се използват имената на колоните от първата заявка.
3) Извеждане на градовете на всички служители, всички клиенти и всички доставчици съответно с надписи "Employee", "Customer" и "Supplier" колона със заглавие Name, по която е сортирано резултатното множество; с елиминиране на дублиращите се редове от резултатния набор.
SELECT City, "Employee" AS Name
FROM Employees
UNION
SELECT City, "Customer"
FROM Customers
UNION
SELECT City, "Supplier"
FROM Suppliers
ORDER BY Name;
Тагове от реферата: операора, единения, гране, полне, Union











