Heim >Datenbank >MySQL-Tutorial >CROSS JOIN vs. INNER JOIN: Wann sollte welcher SQL-Join verwendet werden?
CROSS JOIN und INNER JOIN in SQL
CROSS JOIN verstehen
CROSS JOIN, auch als kartesisches Produkt bekannt, ruft alle möglichen Zeilenkombinationen aus zwei oder mehr Tabellen ab. Zeilen werden nicht nach bestimmten Kriterien gefiltert, sondern lediglich die Anzahl der Zeilen in jeder Tabelle multipliziert. Wenn beispielsweise eine Tabelle 5 Zeilen und eine andere Tabelle 3 Zeilen hat, gibt ihr CROSS JOIN eine Ergebnismenge von 15 Zeilen zurück.
Beispiel:
Betrachten Sie das folgende Formular:
<code>Customers: CustomerID | Age | Gender --------- | --- | ------- C0 | 25 | Male C1 | 30 | Female Movies: MovieID | MovieName ------- | --------- M0 | Batman M1 | Superman</code>
Ein CROSS JOIN zwischen den Tabellen „Kunden“ und „Filme“ erzeugt den folgenden Ergebnissatz:
CustomerID | Age | Gender | MovieID | MovieName |
---|---|---|---|---|
C0 | 25 | Male | M0 | Batman |
C0 | 25 | Male | M1 | Superman |
C1 | 30 | Female | M0 | Batman |
C1 | 30 | Female | M1 | Superman |
INNER JOIN verstehen
INNER JOIN, auch als Equijoin bekannt, filtert Zeilen aus zwei Tabellen basierend auf angegebenen Äquivalenzbedingungen. Es entspricht den Zeilen, die in der verbundenen Spalte denselben Wert haben. Beispielsweise gibt ein INNER JOIN der Tabellen „Kunden“ und „Filme“ basierend auf der Spalte „CustomerID“ nur Zeilen zurück, in denen die CustomerID in beiden Tabellen übereinstimmt.
Beispiel:
Unter Berücksichtigung derselben Tabelle wie zuvor erzeugt ein INNER JOIN basierend auf CustomerID die folgende Ergebnismenge:
CustomerID | Age | Gender | MovieID | MovieName |
---|---|---|---|---|
C0 | 25 | Male | M0 | Batman |
Wählen Sie CROSS JOIN und INNER JOIN
Die Wahl zwischen CROSS JOIN und INNER JOIN hängt vom gewünschten Ergebnis ab.
Das obige ist der detaillierte Inhalt vonCROSS JOIN vs. INNER JOIN: Wann sollte welcher SQL-Join verwendet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!