Heim >Datenbank >MySQL-Tutorial >Was sind die verschiedenen SQL-Join-Typen und wie funktionieren sie?

Was sind die verschiedenen SQL-Join-Typen und wie funktionieren sie?

Barbara Streisand
Barbara StreisandOriginal
2025-01-09 17:01:45869Durchsuche

What are the Different SQL Join Types and How Do They Work?

Umfassendes Verständnis der SQL-Join-Typen: Inner Join, Outer Join, Left Join und Right Join

SQL-Joins werden verwendet, um Daten aus mehreren Tabellen basierend auf einer gemeinsamen Spalte (oder Spalten) zu kombinieren. Es gibt vier Haupttypen von Joins: Inner-Joins, Outer-Joins, Left-Joins und Right-Joins. Jeder Typ hat seine eigenen einzigartigen Eigenschaften und Leistungsaspekte.

Inner Join

Inner Joins geben nur die Zeilen in beiden Tabellen zurück, die übereinstimmende Werte haben. Es handelt sich um den restriktivsten Join-Typ, da er nur Zeilen enthält, bei denen die Join-Bedingung wahr ist. Dies bedeutet, dass Zeilen ausgeschlossen werden, die keine übereinstimmenden Daten in einer anderen Tabelle enthalten.

Beispiel:

<code class="language-sql">SELECT *
FROM table1
INNER JOIN table2
ON table1.id = table2.id;</code>

Links beitreten

Ein Left-Join gibt alle Zeilen in der Tabelle links zurück, unabhängig davon, ob es übereinstimmende Zeilen in der Tabelle rechts gibt. Es enthält alle Zeilen aus der Tabelle links und alle passenden Zeilen aus der Tabelle rechts. Für die Zeilen in der rechten Tabelle werden NULL-Werte zurückgegeben, für die in der linken Tabelle keine passenden Zeilen gefunden wurden.

Beispiel:

<code class="language-sql">SELECT *
FROM table1
LEFT JOIN table2
ON table1.id = table2.id;</code>

Right Join

Ein rechter Join ähnelt einem linken Join, gibt jedoch alle Zeilen in der rechten Tabelle zurück, unabhängig davon, ob es in der linken Tabelle übereinstimmende Zeilen gibt. Es enthält alle Zeilen aus der Tabelle rechts und alle passenden Zeilen aus der Tabelle links. Für die Zeilen in der linken Tabelle werden NULL-Werte zurückgegeben, für die in der rechten Tabelle keine passenden Zeilen gefunden wurden.

Beispiel:

<code class="language-sql">SELECT *
FROM table1
RIGHT JOIN table2
ON table1.id = table2.id;</code>

Äußerer Join

Outer Join ist eine Kombination aus Left Join und Right Join. Es werden alle Zeilen aus beiden Tabellen zurückgegeben, unabhängig davon, ob in der anderen Tabelle übereinstimmende Zeilen vorhanden sind. Für Zeilen in einer der Tabellen werden NULL-Werte zurückgegeben, für die in der anderen Tabelle keine passende Zeile gefunden wird.

Beispiel:

<code class="language-sql">SELECT *
FROM table1
FULL OUTER JOIN table2
ON table1.id = table2.id;</code>

Leistungshinweise

Die Leistung von Join-Vorgängen hängt von der Anzahl der Zeilen in der Tabelle, den Join-Bedingungen und dem verwendeten Join-Typ ab. Inner-Joins sind in der Regel schneller als Outer-Joins, da sie Zeilen ausschließen, die keine übereinstimmenden Werte haben. Die Leistung von Links- und Rechts-Joins kann abhängig von der Größe der Tabelle und den Join-Bedingungen ähnlich sein.

Im Allgemeinen wird empfohlen, den restriktivsten Join-Typ zu verwenden, solange dieser noch die erforderlichen Daten zurückgibt. Dies trägt dazu bei, die Leistung zu optimieren und die Anzahl der zurückgegebenen unnötigen Zeilen zu reduzieren.

Das obige ist der detaillierte Inhalt vonWas sind die verschiedenen SQL-Join-Typen und wie funktionieren sie?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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