返回由 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 销售模型。若要编译并运行此查询,请执行下列步骤:
将以下查询作为参数传递给
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
....