Cross Join (SQL): Unterschied zwischen den Versionen
Aus Byte-Welt Wiki
Keine Bearbeitungszusammenfassung |
KKeine Bearbeitungszusammenfassung |
||
| 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 tabelle 2; | SELECT * FROM tabelle1 CROSS JOIN tabelle 2; | ||
SELECT * FROM tabelle1, tabelle 2; | SELECT * FROM tabelle1, tabelle 2; | ||
</ | </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}} | ||
Version vom 2. April 2018, 14:41 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 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 Fehler beim Parsen (SVG (MathML kann über ein Browser-Plugin aktiviert werden): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://api.formulasearchengine.com/v1/“:): \times 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 |
