CREATEtablePresentHistory->(->HisIDint,->HisNamevarchar(100)->);QueryOK,0rowsaffected(0.54sec) Après la création de la table, certains enregistrements seront insérés et ces enregistrements apparaîtront dans le second"/> CREATEtablePresentHistory->(->HisIDint,->HisNamevarchar(100)->);QueryOK,0rowsaffected(0.54sec) Après la création de la table, certains enregistrements seront insérés et ces enregistrements apparaîtront dans le second">

Maison  >  Article  >  base de données  >  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 ?

WBOY
WBOYavant
2023-09-09 17:37:071346parcourir

查找一个 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)

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)

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

mysql> SELECT * from PresentHistory;

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)

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)

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)

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;

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)

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);

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);

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)

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer