Поиск…


Синтаксис

  • SELECT column_name (s) FROM table1 UNION SELECT column_name (s) FROM table2;
  • SELECT column_name (s) FROM table1 UNION ALL SELECT column_name (s) FROM table2;
  • SELECT column_name (s) FROM table1 WHERE col_name = "XYZ" UNION ALL SELECT column_name (s) FROM table2 WHERE col_name = "XYZ";

замечания

UNION DISTINCT - это то же самое, что UNION ; он медленнее, чем UNION ALL из-за де-дублирования. Хорошая практика заключается в том, чтобы всегда указывать DISTINCT или ALL , тем самым сигнализируя, что вы думали о том, что делать.

Союзный оператор

Оператор UNION используется для объединения набора результатов ( только отдельных значений ) двух или более операторов SELECT.

Запрос: (Чтобы выбрать все разные города ( только отдельные значения ) из таблиц «Клиенты» и «Поставщики»)

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

Результат:

Number of Records: 10

City
------
Aachen
Albuquerque
Anchorage
Annecy
Barcelona
Barquisimeto
Bend
Bergamo
Berlin
Bern

Союз ВСЕ

UNION ALL, чтобы выбрать все (дублирующие значения) города из таблиц «Клиенты» и «Поставщики».

Запрос:

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

Результат:

Number of Records: 12

City
-------
Aachen
Albuquerque
Anchorage
Ann Arbor
Annecy
Barcelona
Barquisimeto
Bend
Bergamo
Berlin
Berlin
Bern

СОЮЗ ВСЕ С ГДЕ

UNION ALL для выбора всех (повторяющихся значений) также городов Германии из таблиц «Клиенты» и «Поставщики». Здесь Country="Germany" указывается в предложении where.

Запрос:

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

Результат:

Number of Records: 14
город Страна
Aachen Германия
Берлин Германия
Берлин Германия
Бранденбург Германия
Cunewalde Германия
Куксхавен Германия
Франкфурт Германия
Frankfurt aM Германия
Köln Германия
Лейпциг Германия
Mannheim Германия
München Германия
Münster Германия
Штутгарт Германия


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow