Der SQL CROSS JOIN verbindet jede einzelne Zeile aus der linken Tabelle mit allen Zeilen aus der rechten Tabelle.

SELECT Spalte 
FROM TabelleA 
CROSS JOIN TabelleB; 
SQL Cross Join

In der Mengenlehre spricht man auch vom kartesischen Produkt oder Kreuzprodukt. Sofern keine WHERE Bedingung gesetzt ist, entstehen beim CROSS JOIN die Anzahl der Zeilen aus der linken Tabelle multipliziert mit der Anzahl der Zeilen aus der rechten. Bei der Abfrage werden alle Spalten beider Tabellen in einer Tabelle ausgegeben.

SQL CROSS JOIN - Beispiel

Ein Modehändler hat seine T-Shirts kategorisiert nach den Größen S – XXL und nach den Farben Schwarz, Weiß und Grün. Er möchte eine eigene Tabelle für jede mögliche Größen- und Farbkombination erstellen:

SELECT f.Preis, f.Farbe, g.Groesse 
FROM Größen AS g 
CROSS JOIN Farben AS f; 

Es kann vorkommen kann, dass in beiden Tabellen eine identische Spalte existiert. Deshalb ist es sinnvoll, Aliases zu verwenden, um Spalten spezifisch und übersichtlich auszuwählen.

ARTIKEL TEILEN

Hast du Fragen? Hinterlasse einen Kommentar!