Cross Join (SQL): Unterschied zwischen den Versionen
Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springen (Die Seite wurde neu angelegt: Der Cross Join ist der standard Join, hier wird aus alle Einträgen der beiden Mengen ( Tabellen) das Kreuzprodukt gebildet. Da...) |
(→Syntax) |
||
Zeile 2: | Zeile 2: | ||
===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'''. |
<code=sql> | <code=sql> | ||
SELECT * FROM tabelle1 CROSS JOIN tabelle 2; | SELECT * FROM tabelle1 CROSS JOIN tabelle 2; |
Version vom 28. November 2008, 22:31 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 |