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. Для компиляции и запуска этого запроса выполните следующие шаги.
Следуйте инструкциям в разделе Как выполнить запрос, возвращающий результаты типа StructuralType (EntityClient).
Передайте следующий запрос в качестве аргумента методу
ExecuteStructuralTypeQuery
:
(SELECT product from AdventureWorksEntities.Products as product
WHERE product.ListPrice > @price1 ) except
(select product from AdventureWorksEntities.Products as product
WHERE product.ListPrice > @price2)