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

Anfänger lernen einige HTML-Tags (2)

Verwandter Artikel: Anfänger lernen einige HTML-Ta...

Lösungen für Probleme bei der Leistungsoptimierung von MySQL-Indizes

Die von MySQL erstellte Optimierung besteht im Hi...

MySQL 5.6.24 (binär) automatisches Installationsskript unter Linux

In diesem Artikel wird der Skriptcode für die aut...

Analyse von drei Parametern des MySQL-Replikationsproblems

Inhaltsverzeichnis 01 sql_slave_skip_counter-Para...

So führen Sie ein Projekt mit Docker aus

1. Geben Sie das Verzeichnis ein, in dem Ihr Proj...

Detaillierte Einführung in den MySql-Index und korrekte Verwendungsmethode

Detaillierte Einführung in den MySql-Index und ko...

Eine kurze Analyse zum Upgrade von PHP 5.4 auf 5.6 in CentOS 7

1. Überprüfen Sie die PHP-Version nach dem Aufruf...

Details zum Überschreiben von Prototypmethoden in JavaScript-Instanzobjekten

Inhaltsverzeichnis In JavaScript können wir norma...

So deaktivieren Sie die Klartextanzeige und die Schnelllöschfunktion von IE10

IE10 bietet eine Schaltfläche zum schnellen Lösche...

Beispiel für die Anpassung des Vue-Projekts an den großen Bildschirm

Eine kurze Analyse von rem Zunächst einmal ist re...