Cross Join (SQL): Unterschied zwischen den Versionen
Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springenK |
|||
(Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt) | |||
Zeile 3: | Zeile 3: | ||
===Syntax=== | ===Syntax=== | ||
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"> |
− | SELECT * FROM tabelle1 CROSS JOIN | + | SELECT * FROM tabelle1 CROSS JOIN tabelle2; |
− | SELECT * FROM tabelle1, | + | SELECT * FROM tabelle1, tabelle2; |
− | </ | + | </syntaxhighlight> |
===Beispiel=== | ===Beispiel=== | ||
Zeile 46: | Zeile 46: | ||
Bei Bildung des Cross Joins über die beiden Tabellen ergibt sich folgendes Bild. | Bei Bildung des Cross Joins über die beiden Tabellen ergibt sich folgendes Bild. | ||
− | < | + | <syntaxhighlight lang="sql"> |
SELECT * FROM personentabelle CROSS JOIN ortstabelle; | SELECT * FROM personentabelle CROSS JOIN ortstabelle; | ||
− | </ | + | </syntaxhighlight> |
Personentabelle <math>\times</math> Ortstabelle | Personentabelle <math>\times</math> Ortstabelle | ||
{| {{Prettytable}} | {| {{Prettytable}} |
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 |