Поделиться через


UNION (язык Entity SQL)

Сводит результаты двух или более запросов в одну коллекцию.

expression
UNION [ ALL ]
expression

Аргументы

  • expression
    Любое допустимое выражение запроса, возвращающее коллекцию для объединения с данной коллекцией. Все выражения должны быть одного типа с параметром expression либо базового или производного типа для типа этого параметра.
  • UNION
    Указывает на то, что несколько коллекций следует объединить и возвратить в виде единой коллекции.
  • ALL
    Указывает на то, что несколько коллекций следует объединить и возвратить в виде единой коллекции, включая повторения. Если этот аргумент не указан, то повторения удаляются из итоговой коллекции.

Возвращаемое значение

Коллекция того же типа, что и параметр expression, или же базового или производного типа для типа этого параметра.

Замечания

UNION — это один из операторов работы с наборами Entity SQL. Все операторы работы с наборами Entity SQL выполняются слева направо. Сведения о порядке выполнения операторов работы с наборами Entity SQL см. в разделе EXCEPT (язык Entity SQL).

Примеры

В следующем запросе Entity SQL оператор UNION ALL используется, чтобы объединить результаты двух запросов в единую коллекцию. Запрос основан на модели AdventureWorks Sales. Для компиляции и запуска этого запроса выполните следующие шаги.

  1. Следуйте инструкциям в разделе Как выполнить запрос, возвращающий результаты типа StructuralType (EntityClient).

  2. Передайте следующий запрос в качестве аргумента методу ExecuteStructuralTypeQuery:

(select VALUE P from AdventureWorksEntities.Product 
    as P WHERE P.Name LIKE 'C%') Union All 
    ( select VALUE A from AdventureWorksEntities.Product 
    as A where A.ListPrice > 20)

Далее показаны выводимые данные:

ProductID: 320
Name: Chainring Bolts
ProductNumber: CB-2903
MakeFlag: False
ProductID: 321
Name: Chainring Nut
ProductNumber: CN-6137
MakeFlag: False
ProductID: 322
Name: Chainring
ProductNumber: CR-7833
MakeFlag: False
ProductID: 323
Name: Crown Race
ProductNumber: CR-9981
MakeFlag: False
ProductID: 324
Name: Chain Stays
ProductNumber: CS-2812
MakeFlag: True
...

См. также

Основные понятия

Операторы работы с наборами (язык Entity SQL)
Справочник по Entity SQL