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. Для компиляции и запуска этого запроса выполните следующие шаги.
Выполните процедуру из статьи How to: Execute a Query that Returns StructuralType Results.
Передайте следующий запрос в качестве аргумента методу
ExecuteStructuralTypeQuery
:
(SELECT product FROM AdventureWorksEntities.Products AS product
WHERE product.ListPrice > @price1 ) except
(select product FROM AdventureWorksEntities.Products AS product
WHERE product.ListPrice > @price2)