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>
INNER JOIN-Beispiel
<code class="language-sql">SELECT * FROM TableA INNER JOIN TableB ON TableA.id = TableB.id2;</code>
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>
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>
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!