Cross Join (SQL)

Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springen

Der Cross Join ist der standard Join, hier wird aus alle Einträgen der beiden Mengen ( Tabellen) das Kreuzprodukt gebildet. Das Ergebnis des Join muss vom Benutzer selbst gefilter/begrenzt werden.

Syntax

Der Cross Join kann auf verschiedene Arten gemacht werden, einmal mit und einmal ohne den Schlüsselwörtern CROSS JOIN. <code=sql> SELECT * FROM tabelle1 CROSS JOIN tabelle 2; SELECT * FROM tabelle1, tabelle 2; </code=sql>

Beispiel

Tabelle 1 - Personentabelle:

Person_ID Name Ort_ID
1 person1 1
2 person2 1
3 person3 2

Tabelle 2 - Ortstabelle:

Ort_ID Ortsname
1 Berlin
2 Hamburg
3 München

Bei Bildung des Cross Joins über die beiden Tabellen ergibt sich folgendes Bild. <code=sql> SELECT * FROM personentabelle CROSS JOIN ortstabelle; </code=sql> Personentabelle <math>\times</math> Ortstabelle

Person_ID Name Ort_ID Ort_ID Ortsname
1 person1 1 1 Berlin
2 person2 1 1 Berlin
3 person3 2 1 Berlin
1 person1 1 2 Hamburg
2 person2 1 2 Hamburg
3 person3 2 2 Hamburg
1 person1 1 3 München
2 person2 1 3 München
3 person3 2 3 München