Heim > Datenbank > MySQL-Tutorial > Wie unterscheiden sich innere, linke, rechte und vollständige Verbindungen in MySQL?

Wie unterscheiden sich innere, linke, rechte und vollständige Verbindungen in MySQL?

Patricia Arquette
Freigeben: 2025-01-25 15:12:11
Original
356 Leute haben es durchsucht

How Do INNER, LEFT, RIGHT, and FULL Joins Differ in MySQL?

Umfassendes Verständnis der Unterschiede zwischen MySQL JOIN-Typen

Mit der JOIN-Klausel von MySQL können Sie Daten aus mehreren Tabellen kombinieren, indem Sie gemeinsame Feldwerte abgleichen. Je nach Anwendungsfall stehen mehrere JOIN-Typen zur Verfügung:

INNER JOIN (innere Verbindung)

INNER JOIN gibt Zeilen nur zurück, wenn in beiden Tabellen eine Übereinstimmung vorliegt. Es führt eine Schnittmengenoperation durch und ruft Datensätze ab, die zu beiden Tabellen gehören.

LEFT JOIN (linker Join)

LEFT JOIN gibt alle Zeilen in der linken Tabelle zurück, unabhängig davon, ob es eine Übereinstimmung in der rechten Tabelle gibt. Es füllt fehlende Übereinstimmungen in der rechten Tabelle mit NULL-Werten auf.

RIGHT JOIN (rechts beitreten)

RIGHT JOIN ähnelt LEFT JOIN, gibt jedoch alle Zeilen aus der rechten Tabelle statt aller Zeilen aus der linken Tabelle zurück. Ebenso wird ein NULL-Wert verwendet, um eine fehlende Übereinstimmung in der linken Tabelle darzustellen.

FULL JOIN (vollständige Verbindung)

FULL JOIN kombiniert die Ergebnisse von LEFT- und RIGHT-Außenverknüpfungen und gibt alle Zeilen in beiden Tabellen zurück. Alle nicht übereinstimmenden Zeilen aus einer der Tabellen werden mit NULL-Werten gefüllt.

Beispiel

Betrachten Sie zwei Tabellen, TabelleA und TabelleB, die die folgenden Daten enthalten:

<code>**TableA**
| id | firstName | lastName |
|---|---|---|
| 1 | arun | prasanth |
| 2 | ann | antony |
| 3 | sruthy | abc |

**TableB**
| id2 | age | Place |
|---|---|---|
| 1 | 24 | kerala |
| 2 | 24 | usa |
| 3 | 25 | ekm |
| 5 | 24 | chennai |</code>
Nach dem Login kopieren

INNER JOIN-Beispiel

<code class="language-sql">SELECT *
FROM TableA
INNER JOIN TableB
ON TableA.id = TableB.id2;</code>
Nach dem Login kopieren

Ergebnis:

firstName lastName age Place
arun prasanth 24 kerala
ann antony 24 usa
sruthy abc 25 ekm

LEFT JOIN-Beispiel

<code class="language-sql">SELECT *
FROM TableA
LEFT JOIN TableB
ON TableA.id = TableB.id2;</code>
Nach dem Login kopieren

Ergebnis:

firstName lastName age Place
arun prasanth 24 kerala
ann antony 24 usa
sruthy abc 25 ekm

RIGHT JOIN-Beispiel

<code class="language-sql">SELECT *
FROM TableA
RIGHT JOIN TableB
ON TableA.id = TableB.id2;</code>
Nach dem Login kopieren

Ergebnis:

firstName lastName age Place
arun prasanth 24 kerala
ann antony 24 usa
sruthy abc 25 ekm
NULL NULL 24 chennai

volles Join -Beispiel (MySQL unterstützt keine direkten vollständigen Jobs, Sie müssen Union verwenden, um zu simulieren)

MySQL unterstützt den vollständigen Join nicht direkt.

LEFT JOIN In den obigen Beispielen können die Unterschiede zwischen verschiedenen Join -Typen in der Datenverzerrung deutlich gesehen werden. Die Auswahl eines geeigneten Jointyps ist für die effiziente Erfassung der erforderlichen Daten unerlässlich. RIGHT JOIN

Das obige ist der detaillierte Inhalt vonWie unterscheiden sich innere, linke, rechte und vollständige Verbindungen in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage