Der SQL Natural Join verknüpft zwei Tabellen über zwei Spalten mit identischen Namen.

SELECT Spalte 
FROM TabelleA
NATURAL JOIN TabelleB; 
SQL NATURAL JOIN

Der SQL NATURAL JOIN ist eine Kurzform für INNER JOINs, falls die abzugleichenden Spalten denselben Namen besitzen. Dieser kann genutzt werden, wenn der Primär- und Fremdschlüssel denselben Spaltennamen haben.

Tabelle A

SpalteA

SpalteB

SpalteC

1

2

3

4

5

6

7

8

9

Tabelle B

SpalteD

SpalteE

SpalteC

1

9

3

3

5

6

7

8

0

SELECT * 
FROM TabelleA 
NATURAL JOIN TabelleB; 

SpalteA

SpalteB

SpalteC

SpalteD

SpalteE

1

2

3

1

9

4

5

6

3

5

NATURAL JOIN - Nachteile

Der NATURAL JOIN birgt allerdings Nachteile mit sich. 

  1. Sollte ein Spaltenname verändert werden, funktioniert die gesamte Abfrage nicht mehr. 
  2. Es kann auch vorkommen, dass zwei Spalten einen ähnlichen Namen haben, der allerdings nicht identisch ist. 
  3. Folgt nach der SELECT Anweisung die in beiden Tabellen identische Spalte (Spalte_X), darf vor ihr nicht der Tabellenname stehen, da es sonst zu einer Fehlermeldung kommt. 
SELECT TabelleA.Spalte, TabelleB.Spalte, Spalte_X
FROM TabelleA 
NATURAL JOIN TabelleB; 
  1. Haben jeweils zwei Spalten aus beiden Tabellen die identischen Namen, müssen beide Spalten zwischen beiden Tabellen übereinstimmen, damit die Werte angefügt werden.

TabelleA

SpalteA

SpalteB

SpalteC

1

2

3

4

5

6

7

8

9

TabelleB

SpalteA

SpalteB

SpalteD

1

9

9

3

5

6

7

8

0

SELECT * 
FROM TabelleA 
NATURAL JOIN TabelleB; 

SpalteA

SpalteB

SpalteC

SpalteD

7

8

9

0

ARTIKEL TEILEN

Hast du Fragen? Hinterlasse einen Kommentar!