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


EXCEPT (Entity SQL)

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

Синтаксис

expression EXCEPT expression

Аргументы

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

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

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

Замечания

КРОМЕ того, это один из операторов набора entity SQL. Все операторы набора Entity SQL оцениваются слева направо. В следующей таблице показан приоритет операторов набора Entity SQL.

Приоритет Операторы
Наиболее высокий INTERSECT
UNION

UNION ALL
ИСКЛЮЧЕНИЯ
Наиболее низкий EXISTS

OVERLAPS

FLATTEN

SET

Пример

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

  1. Выполните процедуру из статьи How to: Execute a Query that Returns StructuralType Results.

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

(SELECT product FROM AdventureWorksEntities.Products AS product 
    WHERE product.ListPrice  > @price1 ) except 
    (select product FROM AdventureWorksEntities.Products AS product 
    WHERE product.ListPrice > @price2)

См. также