Maison > Article > base de données > Comment utiliser l’opérateur moins dans MySQL ?
MySQL ne prend pas en charge l'opérateur MINUS, mais vous pouvez utiliser MySQL JOIN pour le simuler. Le format de syntaxe est "SELECT field list FROM table 1 LEFT JOIN table 2 ON join_predicate WHERE table 2.id IS NULL ;" .
(Tutoriel recommandé : Tutoriel vidéo MySQL)
Introduction à l'opérateur SQL MINUS
MINUS contient l'une des trois opérations standard SQL UNION, INTERSECT et MINUS.
MINUS compare les résultats de deux requêtes et renvoie des lignes distinctes de la première requête qui ne sont pas générées par la deuxième requête.
La commande MINUS est utilisée sur deux instructions SQL. Il recherche d'abord les résultats produits par la première instruction SQL, puis vérifie si ces résultats font partie des résultats de la deuxième instruction SQL. Si c'est le cas, ces données seront supprimées et n'apparaîtront pas dans le résultat final. Si le résultat produit par la deuxième instruction SQL n'existe pas dans le résultat produit par la première instruction SQL, les données sont ignorées.
Ce qui suit illustre la syntaxe de l'opérateur MOINS :
SELECT column_list_1 FROM table_1 MINUS SELECT columns_list_2 FROM table_2;
Les règles de base pour les requêtes utilisant l'opérateur MOINS sont les suivantes :
Quantité et deux colonnes L'ordre de column_list_1
et column_list_2
doit être le même.
Les types de données des colonnes correspondantes dans les deux requêtes doivent être compatibles.
Supposons que nous ayons deux tables t1 et t2 avec la structure et les données suivantes :
CREATE TABLE t1 ( id INT PRIMARY KEY ); CREATE TABLE t2 ( id INT PRIMARY KEY ); INSERT INTO t1 VALUES (1),(2),(3); INSERT INTO t2 VALUES (2),(3),(4);
La requête suivante renvoie les différentes valeurs dans la requête pour la table t1, ces valeurs sont dans le tableau t2 introuvables dans les résultats de la requête.
SELECT id FROM t1 MINUS SELECT id FROM t2;
Ce qui suit est la description du diagramme MOINS :
Opérateur MySQL MINUS
Malheureusement, MySQL ne prend pas en charge l'opérateur MINUS. Cependant, vous pouvez le simuler en utilisant MySQL JOIN.
Pour simuler MINUS deux requêtes, utilisez la syntaxe suivante :
SELECT column_list FROM table_1 LEFT JOIN table_2 ON join_predicate WHERE table_2.id IS NULL;
Par exemple, la requête suivante utilise la clause LEFT JOIN pour renvoyer les mêmes résultats que l'opérateur MINUS :
SELECT id FROM t1 LEFT JOIN t2 USING (id) WHERE t2.id IS NULL;
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!