Maison > base de données > tutoriel mysql > Rechercher des enregistrements dans une table MySQL qui n'existent pas dans une autre table ?

Rechercher des enregistrements dans une table MySQL qui n'existent pas dans une autre table ?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Libérer: 2023-09-09 17:37:07
avant
1391 Les gens l'ont consulté

查找一个 MySQL 表中不存在于另一个表中的记录?

Pour rechercher des enregistrements dans une table MySQL qui n'existent pas dans une autre table, nous pouvons utiliser Effectuez une sous-requête sur une table sans enregistrement. Cela peut être mieux compris en utilisant ce qui suit Étapes données -

Créez d’abord une table à l’aide de la commande create. Le nom de la table est "PresentHistory" et elle a Deux colonnes. Donné ci-dessous -

mysql> CREATE table PresentHistory
-> (
-> HisID int,
-> HisName varchar(100)
-> );
Query OK, 0 rows affected (0.54 sec)
Copier après la connexion

Après la création du tableau, certains enregistrements seront insérés et apparaîtront dans le deuxième tableau : Brillamment. Cela se fait à l'aide de la commande d'insertion comme indiqué ci-dessous -

mysql> INSERT into PresentHistory values(1,'John');
Query OK, 1 row affected (0.13 sec)

mysql> INSERT into PresentHistory values(2,'Bob');
Query OK, 1 row affected (0.15 sec)
Copier après la connexion

Après avoir inséré avec succès l'enregistrement, l'instruction select s'affiche comme suit -

mysql> SELECT * from PresentHistory;
Copier après la connexion

Après avoir exécuté la requête ci-dessus, le résultat obtenu est.

+-------+---------+
| HisID | HisName |
+-------+---------+
| 1     | John    |
| 2     | Bob     |
+-------+---------+
2 rows in set (0.00 sec)
Copier après la connexion

Maintenant, créez la deuxième table à l'aide de la commande create. La table s'appelle "PastHistory" et contient deux colonnes comme indiqué ci-dessous.

mysql> CREATE table PastHistory
-> (
-> PastId int,
-> PastName varchar(100)
-> );
Query OK, 0 rows affected (0.74 sec)
Copier après la connexion

Après avoir créé la table, il y a quelques enregistrements dans la première table et quelques enregistrements dans la première table Le contenu qui n'existe pas dans la première table sera inséré dans la table PastHistory.

mysql> INSERT into PastHistory values(1,'John');
Query OK, 1 row affected (0.13 sec)

mysql> INSERT into PastHistory values(2,'Bob');
Query OK, 1 row affected (0.13 sec)

mysql> INSERT into PastHistory values(3,'Carol');
Query OK, 1 row affected (0.17 sec)

mysql> INSERT into PastHistory values(4,'Jason');
Query OK, 1 row affected (0.16 sec)
Copier après la connexion

Maintenant, il y a 4 enregistrements dans le deuxième tableau. Parmi eux, 2 enregistrements proviennent de la première table, Il y a 2 enregistrements dans la deuxième table qui sont différents.

Vous pouvez voir les enregistrements de la deuxième table via l'instruction select comme suit -

mysql> SELECT * from PastHistory;
Copier après la connexion

Le résultat de la requête ci-dessus est

+--------+----------+
| PastId | PastName |
+--------+----------+
| 1      | John     |
| 2      | Bob      |
| 3      | Carol    |
| 4      | Jason    |
+--------+----------+
4 rows in set (0.00 sec)
Copier après la connexion

La syntaxe pour vérifier une table pour les enregistrements qui n'existent pas dans la deuxième table est la suivante Comme ci-dessous-

SELECT * from yourSecondTableName where columnNamefromSecondtable NOT IN
(SELECT columnNamefromfirsttable from yourFirstTableName);
Copier après la connexion

La requête donnée est utilisée pour récupérer différents enregistrements de la deuxième table-

mysql> SELECT * from PastHistory where PastName not in (select HisName from
PresentHistory);
Copier après la connexion

Le résultat de la requête ci-dessus est comme ci-dessous-

+--------+----------+
| PastId | PastName |
+--------+----------+
| 3      | Carol    |
| 4      | Jason    |
+--------+----------+
2 rows in set (0.00 sec)
Copier après la connexion

D'après la sortie ci-dessus, il est clair que nous avons trouvé deux éléments non exister dans Premier tableau.

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!

source:tutorialspoint.com
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