ЛУЧШИЙ САЙТ ДЛЯ РАЗРАБОТЧИКОВ
×

SQL учебник

SQL HOME SQL Intro SQL Syntax SQL Select SQL Select Distinct SQL Where SQL And, Or, Not SQL Order By SQL Insert Into SQL Null Values SQL Update SQL Delete SQL Select Top SQL Min and Max SQL Count, Avg, Sum SQL Like SQL Wildcards SQL In SQL Between SQL Aliases SQL Joins SQL Inner Join SQL Left Join SQL Right Join SQL Full Join SQL Self Join SQL Union SQL Group By SQL Having SQL Exists SQL Any, All SQL Select Into SQL Insert Into Select SQL Null Functions SQL Stored Procedures SQL Comments

SQL Database

SQL Create DB SQL Drop DB SQL Create Table SQL Drop Table SQL Alter Table SQL Constraints SQL Not Null SQL Unique SQL Primary Key SQL Foreign Key SQL Check SQL Default SQL Index SQL Auto Increment SQL Dates SQL Views SQL Injection SQL Hosting

SQL References

MySQL Functions SQL Server Functions MS Access Functions Oracle Functions SQL Operators SQL Data Types SQL Quick Ref


SQL UNION Оператор


Оператор Union SQL

Оператор UNION используется для объединения результирующего набора двух или более инструкций SELECT.

  • Каждая инструкция SELECT внутри Union должна иметь одинаковое количество столбцов
  • Столбцы также должны иметь схожие типы данных
  • Столбцы в каждой инструкции SELECT также должны быть в том же порядке

UNION Синтаксис

SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;

UNION ALL Синтаксис

Оператор Union выбирает по умолчанию только отдельные значения. Чтобы разрешить повторяющиеся значения, используйте объединение ALL:

SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;

Примечание: Имена столбцов в результирующем наборе обычно равны именам столбцов в первой инструкции SELECT в Union.


Демонстрационная база данных

В этом учебнике мы будем использовать хорошо известную базу данных Northwind Sample.

Ниже представлен выбор из таблицы "Customers":

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico

И выбор из таблицы «Поставщики»:

SupplierID SupplierName ContactName Address City PostalCode Country
1 Exotic Liquid Charlotte Cooper 49 Gilbert St. London EC1 4SD UK
2 New Orleans Cajun Delights Shelley Burke P.O. Box 78934 New Orleans 70117 USA
3 Grandma Kelly's Homestead Regina Murphy 707 Oxford Rd. Ann Arbor 48104 USA


Пример объединения SQL

Следующая инструкция SQL выбирает все различные города (только отдельные значения) от "Customers" и "поставщики":

Пример

SELECT City FROM Customers
UNION
SELECT City FROM Suppliers
ORDER BY City;

Примечание: Если некоторые клиенты или поставщики имеют один и тот же город, то каждый город будет указан только один раз, поскольку Union выбирает только отдельные значения. Используйте UNION ALL для выбора повторяющихся значений!


SQL UNION все примеры

Следующая инструкция SQL выбирает все города (повторяющиеся значения также) от "Customers" и "поставщики":

Пример

SELECT City FROM Customers
UNION ALL
SELECT City FROM Suppliers
ORDER BY City;

SQL UNION с где

Следующая инструкция SQL выбирает все различные немецкие города (только отдельные значения) от "Customers" и "поставщики":

Пример

SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;

SQL UNION все с где

Следующая инструкция SQL выбирает все немецкие города (повторяющиеся значения также) от "Customers" и "поставщики":

Пример

SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION ALL
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;

Другой пример объединения

В следующей инструкции SQL перечислены все клиенты и поставщики:

Пример

SELECT 'Customer' As Type, ContactName, City, Country
FROM Customers
UNION
SELECT 'Supplier', ContactName, City, Country
FROM Suppliers;