Maison > base de données > tutoriel mysql > le corps du texte

Comment utiliser l'opérateur moins dans MySQL ?

青灯夜游
Libérer: 2020-10-19 15:01:17
original
4864 Les gens l'ont consulté

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 ;" .

Comment utiliser l'opérateur moins dans MySQL ?

(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;
Copier après la connexion

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);
Copier après la connexion

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;
Copier après la connexion

Comment utiliser lopérateur moins dans MySQL ?

Ce qui suit est la description du diagramme MOINS :

Comment utiliser lopérateur moins dans MySQL ?

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;
Copier après la connexion

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;
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!