IBM PureData System for Analytics, Version 7.1

Cross-Join

Ein Cross-Join gibt alle möglichen Zeilenkombinationen aus zwei Tabellen zurück (wird auch als kartesisches Produkt bezeichnet).

Auf alle Spalten aus einer Tabelle folgen alle Spalten aus der anderen Tabelle. Normalerweise ergibt sich daraus kein sinnvolles Ergebnisset, wie auch im vorliegenden Fall. Sie müssen Bedingungen hinzufügen, um weitergehend zu definieren, welche Daten aus den Cross-Join-Informationen abgerufen werden sollen.

Bei einem Cross-Join entspricht die Anzahl Zeilen in der Ergebnistabelle der Anzahl Zeilen in der ersten Tabelle multipliziert mit der Anzahl Zeilen in der zweiten Tabelle (neun im vorliegenden Fall).

SELECT * FROM cows_one CROSS JOIN cows_two; 
cnumber|cbreed    |cnumber| breeds
-------+----------+-------+-------
1      | Holstein | 2     | Jersey
1      | Holstein | 3     | Brown Swiss
1      | Holstein | 4     | Ayrshire
2      | Guernsey | 2     | Jersey
2      | Guernsey | 3     | Brown Swiss
2      | Guernsey | 4     | Ayrshire
3      | Angus    | 2     | Jersey
3      | Angus    | 3     | Brown Swiss
3      | Angus    | 4     | Ayrshire
(9 rows)
Die Verwendung eines Cross-Joins ist äquivalent zur Angabe einer SELECT-Anweisung für beide Tabellen:
SELECT * FROM cows_one, cows_two;


Feedback | Copyright IBM Corporation 2014 | Letzte Aktualisierung: 2014-02-28