Cross Join (SQL): Unterschied zwischen den Versionen

Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springen
(Syntax)
K
 
(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'''.
<code=sql>
+
<syntaxhighlight lang="sql">
SELECT * FROM tabelle1 CROSS JOIN tabelle 2;
+
SELECT * FROM tabelle1 CROSS JOIN tabelle2;
SELECT * FROM tabelle1, tabelle 2;
+
SELECT * FROM tabelle1, tabelle2;
</code=sql>
+
</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.
<code=sql>
+
<syntaxhighlight lang="sql">
 
SELECT * FROM personentabelle CROSS JOIN ortstabelle;
 
SELECT * FROM personentabelle CROSS JOIN ortstabelle;
</code=sql>
+
</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