2016-07-19 8 views
0

Wie funktioniert NATURAL JOIN mit zwei Tabellen, wenn zwei oder mehr Spalten vorhanden sind? Zum Beispiel, wenn ich tableA mit den Spalten AA, AB und AC und tableB mit den Spalten BA, BB und BD habe und ich tippe: wähle * aus A NATURAL JOIN B, welches die Spalte des NATURAL JOIN, A oder B (sie sind beide gemeinsam)?Wie funktioniert NATURAL JOIN mit zwei Tabellen, wenn zwei oder mehr Spalten vorhanden sind?

+0

Was ist passiert, als Sie es versucht haben? (und außerdem: das ist einer der Gründe, warum "Natural Join" nicht verwendet werden sollte) –

Antwort

0

Von ISO/IEC 9075-2: 1999 (E) Abschnitt 7.7:

Wenn NATURAL angegeben ist, dann lassen Sie gemeinsame Spaltennamen ein <column name> sein, dass die ist <column name> genau eine Spalte von T1 und die <column name> von genau einer Spalte von T2. [...] Die entsprechenden Join-Spalten beziehen sich auf alle Spalten von T1 und T2, die ggf. gemeinsame Spaltennamen haben.

[...]

Wenn NATURAL angegeben oder <named columns join> angegeben wird, dann

Fall:

i) Wenn es Joinspalten entsprechen, dann lassen Sie T die multiset der Zeilen sein von CP für , die die entsprechenden Join-Spalten gleiche Werte haben.

So, nach dem Standard, wenn es zwei gemeinsame Spaltennamen gibt, wird der Join auf allen zwei Spalten basieren.

+0

Danke für die Hilfe – ppetyr