EXCEPT (Entity SQL)
EXCEPT 演算子の左辺のクエリ式から返される結果のうち、右辺のクエリ式でも返される結果を除いた、重複しない値のコレクションを返します。すべての式は、expression と同じ型であるか、共通の基本型または派生型である必要があります。
expression EXCEPT expression
引数
- expression
コレクションを返す任意の有効なクエリ式。もう一方のクエリ式から返されたコレクションと比較されます。
戻り値
expression と同じ型であるか、共通の基本データ型または派生型であるコレクション。
解説
EXCEPT は、Entity SQL の集合演算子の 1 つです。Entity SQL のすべての集合演算子は左から右に評価されます。次の表に、Entity SQL 集合演算子の優先順位を示します。
優先順位 | 演算子 |
---|---|
最高 |
INTERSECT |
UNION UNION ALL |
|
EXCEPT |
|
最低 |
EXISTS OVERLAPS FLATTEN SET |
例
次の Entity SQL クエリでは、EXCEPT 演算子を使用して、2 つのクエリ式から重複しない値のコレクションを返します。このクエリは、AdventureWorks Sales Model に基づいています。このクエリをコンパイルして実行するには、次の手順を実行します。
「StructuralType 結果を返すクエリの実行方法 (EntityClient)」の手順に従います。
次のクエリを引数として
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
....