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


EXCEPT (язык Entity SQL)

Возвращает коллекцию различных значений из выражения запроса, расположенного левее операнда EXCEPT, за исключением тех, которые были возвращены выражением запроса, расположенного правее операнда EXCEPT. Все выражения должны иметь тот же тип, что и аргумент expression, или принадлежать к базовому или производному типу для типа этого аргумента.

expression EXCEPT expression

Аргументы

  • expression
    Любое допустимое выражение запроса, которое возвращает коллекцию для сравнения с коллекцией, возвращенной другим выражением запроса.

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

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

Замечания

Оператор EXCEPT — это один из операторов работы с наборами в Entity SQL. Все операторы работы с наборами Entity SQL выполняются слева направо. Следующая таблица демонстрирует очередность операторов работы с наборами Entity SQL.

Очередность Операторы

Наивысшая

INTERSECT

UNION

UNION ALL

EXCEPT

Наименьшая

EXISTS

OVERLAPS

FLATTEN

SET

Примеры

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

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

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

(SELECT product from AdventureWorksEntities.Product as product 
    where product.ListPrice  > 20 ) except 
    (select product from AdventureWorksEntities.Product as product 
    where product.ListPrice > 50)

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

ProductID: 707
Name: Sport-100 Helmet, Red
ProductNumber: HL-U509-R
MakeFlag: False
ProductID: 708
Name: Sport-100 Helmet, Black
ProductNumber: HL-U509
MakeFlag: False
ProductID: 711
Name: Sport-100 Helmet, Blue
ProductNumber: HL-U509-B
MakeFlag: False
ProductID: 713
Name: Long-Sleeve Logo Jersey, S
ProductNumber: LJ-0192-S
MakeFlag: False
ProductID: 714
Name: Long-Sleeve Logo Jersey, M
ProductNumber: LJ-0192-M
MakeFlag: False
....

См. также

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

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