Équivalent de MINUS en MySQL
Dans ce tutoriel nous allons vous présenter l’opérateur MINUS et vous montrer comment émuler l’opérateur MySQL MINUS.
Notez que MySQL ne supporte pas l’opérateur MINUS. Ce tutoriel vous explique comment émuler l’opérateur MINUS dans MySQL à l’aide de jointure.
L’opérateur MINUS
L’opérateur MINUS est l’un des opérateurs définis dans la norme SQL, à savoir UNION, INTERSECT et MINUS.
MINUS compare les résultats de deux requêtes et renvoie les lignes distinctes du résultat de la première requête qui n’apparaît pas dans le résultat de la deuxième requête.
Exemple:
Dans l’exemple ci-dessous, nous avons deux tables, à savoir « Clients » et « Commandes », qui contiennent les données suivantes:
La requête suivante utilise la jointure pour simuler l’opérateur MINUS, et qui renvoie les valeurs ‘ClientID’ dans la table « Clients » mais pas dans la table « Commandes ».
SELECT ClientID FROM Clients LEFT JOIN Commandes USING(ClientID) WHERE Commandes.ClientID IS NULL;
La requête suivante renvoie les valeurs ‘ClientID’ dans la table « Commandes » mais pas dans la table « Clients ».
SELECT ClientID FROM Commandes LEFT JOIN Clients USING(ClientID) WHERE Clients.ClientID IS NULL;