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

Синтаксис UNION

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

Синтаксис UNION ALL

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

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

Пример UNION

Следующий оператор SQL выбирает все разные города (только отдельные значения) от «users» и «delivery»:

Пример:

SELECT city FROM users
UNION
SELECT city FROM delivery
ORDER BY city;

Пример SQL UNION ALL

Следующий оператор SQL выбирает все города (дублирующиеся значения также) из «users» и «delivery»:

Пример:

SELECT city FROM users
UNION ALL
SELECT city FROM delivery
ORDER BY city;

SQL UNION с WHERE

Следующий оператор SQL выбирает все разные испанские города (только отдельные значения) от «users» и «delivery»:

Пример:

SELECT city, country FROM users
WHERE country='Spain'
UNION
SELECT city, country FROM delivery
WHERE country='Spain'
ORDER BY city;

SQL UNION ALL с WHERE

Следующий оператор SQL выбирает все испанские города (повторяющиеся значения) также из «users» и «delivery»:

Пример:

SELECT city, country FROM users
WHERE country='Spain'
UNION ALL
SELECT city, country FROM delivery
WHERE country = 'Spain'
ORDER BY city;