Detaillierte Erklärung der vier Arten von MySQL-Verbindungen und Multi-Table-Abfragen

Detaillierte Erklärung der vier Arten von MySQL-Verbindungen und Multi-Table-Abfragen

MySQL Inner Join, Left Join, Right Join, Outer Join, Abfrage mehrerer Tabellen

Build-Umgebung:

Tabelle t_emp erstellen(
	id int Primärschlüssel, 
	Name varchar(20),
	deptId int
);
Tabelle t_dept erstellen(
	id int Primärschlüssel,
	Name varchar(20)
);
einfügen in t_dept(id, name) values(1, 'Designabteilung');
einfügen in t_dept(id, name) values(2, 'Entwicklungsabteilung');
einfügen in t_dept(id, name) values(3, 'Testabteilung');
einfügen in t_emp(id, name, deptId) values(1, 'Name', 1);
einfügen in t_emp(id, name, deptId) Werte(2, 'Li Si', 2);
einfügen in t_emp(id, name, deptId) values(3, 'Name', 0);
# ps: Der Einfachheit halber wird die Tabelle t_emp als Tabelle A und die Tabelle t_dept als Tabelle B bezeichnet

Inhaltsverzeichnis

1. Innerer Join (A ∩ B)

[Bildübertragung über externen Link fehlgeschlagen. Die Quellsite verfügt möglicherweise über einen Anti-Hotlink-Mechanismus. Es wird empfohlen, das Bild zu speichern und direkt hochzuladen (img-0cqsICkR-1619189927045)(9mysql_multi-table query_inner join_right join_left join_nested query.assets/20190805175111307.png)]

Wählen Sie * FROM t_emp e INNER JOIN t_dept d ON e.deptId = d.id; 

[Bildübertragung über externen Link fehlgeschlagen. Die Quellsite verfügt möglicherweise über einen Anti-Hotlink-Mechanismus. Es wird empfohlen, das Bild zu speichern und direkt hochzuladen (img-YVymu987-1619189927047)(9mysql_multi-table query_inner join_right join_left join_nested query.assets/20190805175234304.png)]

2. LEFT JOIN Linker äußerer Join (A alle)

[Bildübertragung über externen Link fehlgeschlagen. Die Quellsite verfügt möglicherweise über einen Anti-Hotlink-Mechanismus. Es wird empfohlen, das Bild zu speichern und direkt hochzuladen (img-860jyRX1-1619189927049)(9mysql_multi-table query_inner join_right join_left join_nested query.assets/20190805175441802.png)]

Wählen Sie * FROM t_emp e LEFT JOIN t_dept d ON e.deptId = d.id; 

[Bildübertragung über externen Link fehlgeschlagen. Die Quellsite verfügt möglicherweise über einen Anti-Hotlink-Mechanismus. Es wird empfohlen, das Bild zu speichern und direkt hochzuladen (img-PXjhiYYa-1619189927051)(9mysql_multi-table query_inner join_right join_left join_nested query.assets/20190805175712415.png)]

3. RIGHT JOIN Rechter äußerer Join (B Alle)

[Bildübertragung über externen Link fehlgeschlagen. Die Quellsite verfügt möglicherweise über einen Anti-Hotlink-Mechanismus. Es wird empfohlen, das Bild zu speichern und direkt hochzuladen (img-s0OFZKj1-1619189927054) (9mysql_multi-table query_inner join_right join_left join_nested query.assets/20190805175813118.png)]

Wählen Sie * aus t_emp e RIGHT JOIN t_dept d ON e.deptId = d.id; 

[Bildübertragung über externen Link fehlgeschlagen. Die Quellsite verfügt möglicherweise über einen Anti-Hotlink-Mechanismus. Es wird empfohlen, das Bild zu speichern und direkt hochzuladen (img-bx74QMwd-1619189927056)(9mysql_multi-table query_inner join_right join_left join_nested query.assets/20190805175959230.png)]

4. FULL JOIN Vollständiger äußerer Join (A + B)

[Bildübertragung über externen Link fehlgeschlagen. Die Quellsite verfügt möglicherweise über einen Anti-Hotlink-Mechanismus. Es wird empfohlen, das Bild zu speichern und direkt hochzuladen (img-b125K8dF-1619189927057) (9mysql_multi-table query_inner join_right join_left join_nested query.assets/20190805180116571.png)]

Wählen Sie * aus t_emp e LEFT JOIN t_dept d 
ON e.deptId = d.id UNION 
Wählen Sie * aus t_emp e RIGHT JOIN t_dept d ON e.deptId = d.id; 

[Bildübertragung über externen Link fehlgeschlagen. Die Quellsite verfügt möglicherweise über einen Anti-Hotlink-Mechanismus. Es wird empfohlen, das Bild zu speichern und direkt hochzuladen (img-qLSli8R9-1619189927058) (9mysql_multi-table query_inner join_right join_left join_nested query.assets/20190805180416613.png)]

5. LEFT Excluding JOIN (A - B, d.h. eindeutig für Tabelle A) +

[Bildübertragung über externen Link fehlgeschlagen. Die Quellsite verfügt möglicherweise über einen Anti-Hotlink-Mechanismus. Es wird empfohlen, das Bild zu speichern und direkt hochzuladen (img-NQFvqcNu-1619189927060)(9mysql_multi-table query_inner join_right join_left join_nested query.assets/20190805180611367.png)]

SELECT * FROM t_emp e LEFT JOIN t_dept d ON e.deptId= d.id WHERE d.id ist null; 

Bildbeschreibung hier einfügen

6. RIGHT Excluding JOIN (B - A, d. h. nur Tabelle B)

[Bildübertragung über externen Link fehlgeschlagen. Die Quellsite verfügt möglicherweise über einen Anti-Hotlink-Mechanismus. Es wird empfohlen, das Bild zu speichern und direkt hochzuladen (img-0Ak37mwF-1619189927062)(9mysql_multi-table query_inner join_right join_left join_nested query.assets/20190805181033398.png)]

SELECT * FROM t_emp e RIGHT JOIN t_dept d ON e.deptId= d.id WHERE e.id ist null; 

[Bildübertragung über externen Link fehlgeschlagen. Die Quellsite verfügt möglicherweise über einen Anti-Hotlink-Mechanismus. Es wird empfohlen, das Bild zu speichern und direkt hochzuladen (img-7czqoOP5-1619189927062)(9mysql_multi-table query_inner join_right join_left join_nested query.assets/20190805181145897.png)]

7. OUTER Excluding JOIN (A und B sind einander eindeutig)

[Bildübertragung über externen Link fehlgeschlagen. Die Quellsite verfügt möglicherweise über einen Anti-Hotlink-Mechanismus. Es wird empfohlen, das Bild zu speichern und direkt hochzuladen (img-9YEEUSOD-1619189927063)(9mysql_multi-table query_inner join_right join_left join_nested query.assets/20190805181255259.png)]

SELECT * FROM t_emp e LEFT JOIN t_dept d ON e.deptId = d.id WHERE d.id ist null
UNION
SELECT * FROM t_emp e RIGHT JOIN t_dept d ON e.deptId= d.id WHERE e.id ist null; 

[Bildübertragung über externen Link fehlgeschlagen. Die Quellsite verfügt möglicherweise über einen Anti-Hotlink-Mechanismus. Es wird empfohlen, das Bild zu speichern und direkt hochzuladen (img-dzO9X4QC-1619189927064)(9mysql_multi-table query_inner join_right join_left join_nested query.assets/2019080518143030.png)]

Zusammenfassen

Dieser Artikel endet hier. Ich hoffe, er kann Ihnen helfen. Ich hoffe auch, dass Sie mehr Inhalten auf 123WORDPRESS.COM mehr Aufmerksamkeit schenken können!

Das könnte Sie auch interessieren:
  • MySQL-Unterabfrage und Details zur Verknüpfungstabelle
  • Vergleich der Effizienz zwischen Einzeltabellenabfrage und Mehrtabellen-Joinabfrage in der MySql-Datenbank
  • Probleme mit Join-Abfragen und Unterabfragen in MySQL
  • Detaillierte Erläuterung der MySQL-Multitabellen-Joinabfrage
  • MySQL-Verbindungsabfrage von den Grundlagen bis zum Fortgeschrittenen

<<:  Gedanken zu copy_{to, from}_user() im Linux-Kernel

>>:  Analyse der Probleme und Lösungen für wiederholte Übermittlung, wiederholte Aktualisierung und Backoff-Verhinderung

Artikel empfehlen

Implementierung eines CSS-Textschatten-Effekts zur allmählichen Unschärfe

Textschatten Fügen Sie dem Text einen Schatten hi...

js genaue Berechnung

var numA = 0,1; var numB = 0,2; Alarm (Zahl A + Z...

So analysieren Sie die Leistung von MySQL-Abfragen

Inhaltsverzeichnis Grundlagen langsamer Abfragen:...

So implementieren Sie Funktions-Currying und -Decurrying in Javascript

Funktion Currying (schwarzes Fragezeichen)? ? ? C...

mysql 5.7.5 m15 winx64.zip Installations-Tutorial

So installieren und konfigurieren Sie mysql-5.7.5...

Die Hook-Funktion von Vue-Router implementiert Routing Guard

Inhaltsverzeichnis Überblick Globale Hook-Funktio...

MySQL-Datenbank muss SQL-Anweisungen kennen (erweiterte Version)

Dies ist eine erweiterte Version. Die Fragen und ...

Vue echarts realisiert die dynamische Anzeige von Balkendiagrammen

In diesem Artikel wird der spezifische Code von V...

Detaillierte Erläuterung der gleichzeitigen Parameteranpassung von MySQL

Inhaltsverzeichnis Abfrage-Cache-Optimierung Über...

Detaillierte Erklärung zur Verwendung benutzerdefinierter Parameter in MySQL

Zu den MySQL-Variablen zählen Systemvariablen und...

HTML-Grundlagen HTML-Struktur

Was ist eine HTML-Datei? HTML steht für Hyper Text...