Heim >Datenbank >MySQL-Tutorial >CROSS JOIN vs. INNER JOIN in SQL: Wann sollte jeder Join-Typ verwendet werden?
Cross Join (CROSS JOIN) und Inner Join (INNER JOIN) in SQL: Umfassender Vergleich
SQL bietet zwei unterschiedliche Verbindungstypen: CROSS JOIN und INNER JOIN. Jeder Verbindungstyp hat seine eigenen Anwendungsszenarien. Dieser Artikel befasst sich eingehend mit den Unterschieden zwischen diesen beiden Konnektivitätsarten und hebt ihre Vorteile und Anwendungsfälle hervor.
CROSS JOIN: Kartesisches Produkt
Ein Cross-Join, auch kartesisches Produkt genannt, kombiniert jede Zeile in der ersten Tabelle mit jeder Zeile in der zweiten Tabelle. Dadurch wird eine neue Tabelle generiert, die alle möglichen Zeilenkombinationen aus der verbundenen Tabelle enthält.
Grammatik:
<code class="language-sql">SELECT * FROM Table1 CROSS JOIN Table2</code>
Beispiel:
Erwägen Sie einen Cross-Join zwischen der Tabelle „Kunden“ und der Tabelle „Filme“:
<code class="language-sql">SELECT Movies.CustomerID, Movies.Movie, Customers.Age, Customers.Gender, Customers.[Education Level], Customers.[Internet Connection], Customers.[Marital Status], FROM Customers CROSS JOIN Movies</code>
Diese Abfrage gibt alle möglichen Paarungen von Kunde und Film zurück, was zu einer großen Anzahl von Zeilen führt.
INNER JOIN: Ergebnisse begrenzen
Der innere Join gibt nur Zeilen zurück, die die in der ON
-Klausel angegebenen Bedingungen erfüllen. Es werden nur die Zeilen in beiden Tabellen ausgewählt, die übereinstimmende Werte haben.
Grammatik:
<code class="language-sql">SELECT * FROM Table1 INNER JOIN Table2 ON Table1.Column = Table2.Column</code>
Beispiel:
Unter Verwendung derselben Tabelle wie zuvor erstellen wir einen Inner Join mithilfe der Spalte CustomerID
:
<code class="language-sql">SELECT Movies.CustomerID, Movies.Movie, Customers.Age, Customers.Gender, Customers.[Education Level], Customers.[Internet Connection], Customers.[Marital Status] FROM Customers INNER JOIN Movies ON Customers.CustomerID = Movies.CustomerID</code>
Diese Abfrage gibt nur CustomerID
übereinstimmende Zeilen aus der Tabelle „Kunden“ und der Tabelle „Filme“ zurück und liefert so relevantere und gefilterte Ergebnisse.
Verbindungstyp auswählen
Die Wahl der Cross-Joins und Inner-Joins hängt von den spezifischen Anforderungen der Abfrage ab.
Im Allgemeinen wird die Verwendung von Inner Joins empfohlen, da diese effizienter sind und Ergebnisse filtern können, während Cross Joins in bestimmten Szenarien nützlich sind, in denen ein kartesisches Produkt erforderlich ist.
Das obige ist der detaillierte Inhalt vonCROSS JOIN vs. INNER JOIN in SQL: Wann sollte jeder Join-Typ verwendet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!