Cross Join (SQL): Unterschied zwischen den Versionen
Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springen (→Syntax) |
|||
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=== |
Version vom 28. November 2008, 22:32 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. <code=sql> SELECT * FROM tabelle1 CROSS JOIN tabelle 2; SELECT * FROM tabelle1, tabelle 2; </code=sql>
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. <code=sql> SELECT * FROM personentabelle CROSS JOIN ortstabelle; </code=sql> 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 |