MySQL EXISTS
Dans ce tutoriel nous allons découvrir comment utiliser l’opérateur MySQL EXISTS pour vérifier si une donnée existe dans une table et quand l’utiliser pour améliorer les performances des requêtes.
L’opérateur EXISTS
L’opérateur EXISTS est un opérateur booléen qui renvoie true ou false. L’opérateur EXISTS est souvent utilisé pour vérifier l’existence des lignes renvoyées par une sous-requête.
La syntaxe de base de l’opérateur EXISTS:
SELECT colonne1, colonne2, ..., colonne_n FROM table_name WHERE [NOT] EXISTS(sous-requête);
Si la sous-requête renvoie au moins une ligne, l’opérateur EXISTS renvoie true, sinon il renvoie false.
En plus, l’opérateur EXISTS met fin immédiatement au traitement ultérieur dès qu’il trouve une ligne correspondante, ce qui peut contribuer à améliorer les performances de la requête.
L’opérateur NOT annule l’opérateur EXISTS. En d’autres termes, NOT EXISTS renvoie true si la sous-requête ne renvoie aucune ligne, sinon elle renvoie false.
Exemple:
Dans l’exemple ci-dessous, nous avons deux tables, à savoir « Clients » et « Commandes », qui contiennent les données suivantes:
L’instruction suivante renvoie TRUE si il existe un client dont le prix totale du commande est inférieur à 200:
SELECT Nom FROM Clients WHERE EXISTS ( SELECT NumCommande FROM Commandes WHERE Commandes.ClientID = Clients.ClientID AND Totale < 200 );
Merci beaucoup de votre aide, ça fait longtemps que je suis bloqué, c’est poof