Cross Join (SQL): Unterschied zwischen den Versionen
Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springenK |
K |
||
Zeile 4: | Zeile 4: | ||
Der Cross Join kann auf verschiedene Arten gemacht werden, einmal mit und einmal ohne den Schlüsselwörtern '''CROSS JOIN'''. | Der Cross Join kann auf verschiedene Arten gemacht werden, einmal mit und einmal ohne den Schlüsselwörtern '''CROSS JOIN'''. | ||
<syntaxhighlight lang="sql"> | <syntaxhighlight lang="sql"> | ||
− | SELECT * FROM tabelle1 CROSS JOIN | + | SELECT * FROM tabelle1 CROSS JOIN tabelle2; |
− | SELECT * FROM tabelle1, | + | SELECT * FROM tabelle1, tabelle2; |
</syntaxhighlight> | </syntaxhighlight> | ||
Aktuelle Version vom 5. November 2021, 07:15 Uhr
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 tabelle2;
SELECT * FROM tabelle1, tabelle2;
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 |