Cross Join (SQL)
Aus Byte-Welt Wiki
Version vom 2. April 2018, 14:41 Uhr von L-ectron-X (Diskussion | Beiträge)
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.
SELECT * FROM tabelle1 CROSS JOIN tabelle 2;
SELECT * FROM tabelle1, tabelle 2;
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.
SELECT * FROM personentabelle CROSS JOIN ortstabelle;
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 |