EXCEPT (Entity SQL)
Retourne une collection de valeurs distinctes provenant de l'expression de requête située du côté gauche de l'opérande EXCEPT et non également retournées par l'expression de requête située à droite de l'opérande EXCEPT. Toutes les expressions doivent être du même type que l'expression ou d'un type de base commun ou dérivé de celui-ci.
expression EXCEPT expression
Arguments
- expression
Toute expression de requête valide qui retourne une collection à comparer avec la collection retournée par une autre expression de requête.
Valeur de retour
Collection du même type que l'expression ou d'un type de base commun ou dérivé de celui-ci.
Notes
EXCEPT est l'un des opérateurs d'ensemble Entité SQL. Tous les opérateurs d'ensemble Entité SQL sont évalués de gauche à droite. Le tableau ci-dessous présente la priorité des opérateurs d'ensemble Entité SQL.
Priorité | Opérateurs |
---|---|
Maximale |
INTERSECT |
UNION UNION ALL |
|
EXCEPT |
|
Minimale |
EXISTS OVERLAPS FLATTEN SET |
Exemple
La requête Entity SQL ci-dessous utilise l'opérateur EXCEPT pour retourner une collection de valeurs distinctes provenant de deux expressions de requête. Cette requête est basée sur le modèle de vente AdventureWorks Sales Model. Pour compiler et exécuter cette requête, procédez comme suit :
Suivez la procédure indiquée dans Procédure : exécuter une requête qui retourne des résultats StructuralType (EntityClient).
Passez à la méthode
ExecuteStructuralTypeQuery
la requête suivante en tant qu'argument :
(SELECT product from AdventureWorksEntities.Product as product
where product.ListPrice > 20 ) except
(select product from AdventureWorksEntities.Product as product
where product.ListPrice > 50)
La sortie est présentée ci-dessous :
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
....