Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SQL UNION Доклад.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
271.74 Кб
Скачать

Использование union all при выборке из двух таблиц[править | править вики-текст]

Применение UNION ALL дает другой результат, так как дубликаты не скрываются. Выполнение запроса:

(SELECT * FROM sales2005)

UNION ALL

(SELECT * FROM sales2006);

даст следующий результат, выводимый без упорядочивания ввиду отсутствия выражения ORDER BY:

person

amount

Иван

1000

Иван

2000

Алексей

2000

Алексей

2000

Сергей

5000

Петр

35000

Использование union при выборке из одной таблицы[править | править вики-текст]

Аналогичным образом можно объединять два разных запроса из одной и той же таблицы (хотя вместо этого, как правило, необходимые параметры комбинируют в одном запросе при помощи ключевых слов AND и OR в условии WHERE):

(SELECT person, amount FROM sales2005 WHERE amount=1000)

UNION

(SELECT person, amount FROM sales2005 WHERE person like 'Сергей');

В результате получится:

person

amount

Иван

1000

Сергей

5000

Использование union как внешнее объединение[править | править вики-текст]

При помощи UNION можно создавать также полные внешние объединения (иногда используется в случае отсутствия встроенной прямой поддержки внешних объединений):

(SELECT *

FROM employee

LEFT JOIN department

ON employee.DepartmentID = department.DepartmentID)

UNION

(SELECT *

FROM employee

RIGHT JOIN department

ON employee.DepartmentID = department.DepartmentID);

Но при этом необходимо помнить, что это все же не одно и то же, что и оператор JOIN.

UNION (Transact-SQL)

SQL Server 2014

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

Ниже приведены основные правила объединения результирующих наборов двух запросов с помощью операции UNION:

  • Количество и порядок столбцов должны быть одинаковыми во всех запросах.

  • Типы данных должны быть совместимыми.

Применимо для следующих объектов: SQL Server (SQL Server 2008 по текущую версию), База данных SQL Windows Azure (С первоначального выпуска по текущий выпуск).

 Cинтаксические обозначения в Transact-SQL

Синтаксис

    { <query_specification> | ( <query_expression> ) }

  UNION [ ALL ]

  <query_specification | ( <query_expression> )

[ UNION [ ALL ] <query_specification> | ( <query_expression> )

    [ ...n ] ]

Аргументы

<query_specification> | ( <query_expression> )

Спецификация запроса или выражение запроса, возвращающее данные для объединения с данными из другой спецификации запроса или выражения запроса. Определения столбцов, которые являются частью операции UNION, не должны совпадать, однако должны быть совместимыми посредством неявного преобразования. Если типы данных различаются, то получившийся тип данных определяется на основе правил очередности типов данных. Если типы совпадают, но различаются в точности, масштабе или длине, результат определяется на основе правил, используемых для объединения выражений. Дополнительные сведения см. в разделе Точность, масштаб и длина (Transact-SQL).

Столбцы типа данных xml должны быть эквивалентны. Все столбцы должны либо иметь тип, определенный в XML-схеме, либо быть нетипизированными. Типизированные столбцы должны относиться к одной и той же коллекции XML-схем.

UNION

Указывает на то, что несколько результирующих наборов следует объединить и возвратить в виде единого результирующего набора.

ALL

Объединяет в результирующий набор все строки. Это относится и к дублирующимся строкам. Если опущено, дубликаты строк удаляются.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]