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 に基づいています。このクエリをコンパイルして実行するには、次の手順を実行します。

  1. StructuralType 結果を返すクエリの実行方法 (EntityClient)」の手順に従います。

  2. 次のクエリを引数として 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
....

参照

概念

集合演算子 (Entity SQL)
Entity SQL リファレンス