Maison > Article > base de données > Comment trouver la différence définie dans MySQL
Méthode MySQL pour trouver l'ensemble de différences : 1. Utilisez not exist pour filtrer l'ensemble de différences des deux tables ; 2. Filtrez l'ensemble de différences des deux tables via la valeur du champ vide générée après la connexion LEFT JOIN.
L'environnement d'exploitation de cet article : système Windows 7, mysql version 8.0, ordinateur Dell G3.
Comment trouver la différence définie dans MySQL ?
Comment interroger les enregistrements avec des données incohérentes dans deux tables avec des nombres de champs différents dans MySQL ? Généralement, NOT EXISTS (clause de non-existence) ou LEFT JOIN peuvent être utilisés pour générer la connexion gauche (droite). Utilisez les valeurs de champ vides pour filtrer la différence entre les deux tables
1 NON EXISTEn'existe pas Lorsque le champ de comparaison a un index disponible, son efficacité opérationnelle est très élevée. , mais s'il n'y a pas d'index, il fonctionnera sur une grande taille. Lors de l'utilisation de tables de données, son efficacité de fonctionnement est extrêmement mauvaise, vous devriez donc éviter de l'utiliser à ce moment-là
SELECT * FROM smd_employee t1 WHERE NOT EXISTS ( SELECT 1 FROM asd_user_account t2 WHERE t2.u_phone = t1.employee_phone );2. LEFT JOIN
Utilisez gauche (droite ) joins pour trouver l'ensemble de différences, car la nécessité d'implémenter deux jointures de table entraînera un effet cartésien. Les lignes d'enregistrement de l'ensemble de sortie peuvent augmenter
S'il n'est pas un à un ou un à plusieurs. , nous devons traiter la situation plusieurs-à-plusieurs en plusieurs-à-un avant de nous connecter, sinon le jeu d'enregistrements de sortie peut être incorrect.
SELECT a.* FROM smd_employee a LEFT JOIN asd_user_account b ON b.u_phone = a.employee_phone WHERE b.u_phone IS NULL;
Deux méthodes pour trouver des ensembles de différences. Lorsqu'il y a des index disponibles, not exist est plus efficace que la jointure à gauche. Au contraire, la jointure à gauche est plus efficace
[Recommandation associée :
tutoriel vidéo mysql].
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!