Heim > Datenbank > MySQL-Tutorial > Datensätze in einer MySQL-Tabelle suchen, die in einer anderen Tabelle nicht vorhanden sind?

Datensätze in einer MySQL-Tabelle suchen, die in einer anderen Tabelle nicht vorhanden sind?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2023-09-09 17:37:07
nach vorne
1394 Leute haben es durchsucht

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

Um Datensätze in einer MySQL-Tabelle zu finden, die in einer anderen Tabelle nicht vorhanden sind, können wir verwenden Führen Sie eine Unterabfrage für eine Tabelle ohne Datensätze durch. Dies kann anhand des Folgenden besser verstanden werden Angegebene Schritte: Erstellen Sie zunächst eine Tabelle mit dem Befehl „create“. Der Tabellenname ist „PresentHistory“ und das hat er Zwei Spalten. Unten angegeben -

mysql> CREATE table PresentHistory
-> (
-> HisID int,
-> HisName varchar(100)
-> );
Query OK, 0 rows affected (0.54 sec)
Nach dem Login kopieren

Nach dem Erstellen der Tabelle werden einige Datensätze eingefügt, die in der zweiten Tabelle erscheinen: Brillant. Dies geschieht mit Hilfe des Einfügebefehls wie unten gezeigt:

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)
Nach dem Login kopieren

Nach dem erfolgreichen Einfügen des Datensatzes wird die Select-Anweisung wie folgt angezeigt:

mysql> SELECT * from PresentHistory;
Nach dem Login kopieren

Nach dem Ausführen der obigen Abfrage wird folgende Ausgabe erhalten:

+-------+---------+
| HisID | HisName |
+-------+---------+
| 1     | John    |
| 2     | Bob     |
+-------+---------+
2 rows in set (0.00 sec)
Nach dem Login kopieren

Erstellen Sie nun die zweite Tabelle mit dem Befehl „create“. Die Tabelle heißt „PastHistory“ und enthält zwei Spalten, wie unten gezeigt.

mysql> CREATE table PastHistory
-> (
-> PastId int,
-> PastName varchar(100)
-> );
Query OK, 0 rows affected (0.74 sec)
Nach dem Login kopieren

Nach dem Erstellen der Tabelle gibt es einige Datensätze in der ersten Tabelle und einige Datensätze in der ersten Tabelle Inhalte, die in der ersten Tabelle nicht vorhanden sind, werden in die PastHistory-Tabelle eingefügt.

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)
Nach dem Login kopieren

Jetzt gibt es 4 Datensätze in der zweiten Tabelle. Darunter stammen 2 Datensätze aus der ersten Tabelle, In der zweiten Tabelle gibt es zwei Datensätze, die unterschiedlich sind.

Sie können die Datensätze in der zweiten Tabelle über die SELECT-Anweisung wie folgt anzeigen:

mysql> SELECT * from PastHistory;
Nach dem Login kopieren

Die Ausgabe der obigen Abfrage lautet

+--------+----------+
| PastId | PastName |
+--------+----------+
| 1      | John     |
| 2      | Bob      |
| 3      | Carol    |
| 4      | Jason    |
+--------+----------+
4 rows in set (0.00 sec)
Nach dem Login kopieren

Die Syntax zum Überprüfen einer Tabelle auf Datensätze, die in der zweiten Tabelle nicht vorhanden sind, lautet wie folgt Wie unten –

SELECT * from yourSecondTableName where columnNamefromSecondtable NOT IN
(SELECT columnNamefromfirsttable from yourFirstTableName);
Nach dem Login kopieren

Die angegebene Abfrage wird verwendet, um verschiedene Datensätze aus der zweiten Tabelle abzurufen –

mysql> SELECT * from PastHistory where PastName not in (select HisName from
PresentHistory);
Nach dem Login kopieren

Die Ausgabe der obigen Abfrage ist wie folgt –

+--------+----------+
| PastId | PastName |
+--------+----------+
| 3      | Carol    |
| 4      | Jason    |
+--------+----------+
2 rows in set (0.00 sec)
Nach dem Login kopieren

Aus der obigen Ausgabe ist klar, dass wir zwei Elemente gefunden haben, die dies nicht tun existieren in Erster Tisch.

Das obige ist der detaillierte Inhalt vonDatensätze in einer MySQL-Tabelle suchen, die in einer anderen Tabelle nicht vorhanden sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage