Cross Join (SQL): Unterschied zwischen den Versionen
Aus Byte-Welt Wiki
KKeine Bearbeitungszusammenfassung |
|||
| (2 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
Der Cross Join ist der standard [[Join (SQL) | Join]], hier wird aus alle Einträgen der beiden Mengen ([[ Tabelle (SQL) | Tabellen]]) das [[Kreuzprodukt]] gebildet. Das Ergebnis des Join muss vom Benutzer selbst gefilter/begrenzt werden. | Der Cross Join ist der standard [[Join (SQL) | Join]], hier wird aus alle Einträgen der beiden Mengen ([[Tabelle (SQL) | Tabellen]]) das [[Kreuzprodukt]] gebildet. Das Ergebnis des Join muss vom Benutzer selbst gefilter/begrenzt werden. | ||
===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
[Bearbeiten | Quelltext bearbeiten]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
[Bearbeiten | Quelltext bearbeiten]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 |
