Heim >Datenbank >MySQL-Tutorial >CROSS JOIN vs. INNER JOIN: Wann sollte welcher SQL-Join verwendet werden?

CROSS JOIN vs. INNER JOIN: Wann sollte welcher SQL-Join verwendet werden?

DDD
DDDOriginal
2025-01-22 10:21:10404Durchsuche

CROSS JOIN vs. INNER JOIN: When to Use Which SQL Join?

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.

  • Verwenden Sie CROSS JOIN ​​​​wenn Sie alle möglichen Kombinationen von Zeilen aus mehreren Tabellen abrufen möchten, unabhängig von Filterbedingungen.
  • Verwenden Sie INNER JOIN ​​​​, wenn Sie Zeilen basierend auf einer bestimmten Gleichheitsbedingung filtern und nur übereinstimmende Zeilen aus beiden Tabellen abrufen möchten.

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!

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