psar04
Goto Top

SQL JOIN-Bedingungen, Position wichtig?

Hallo,

eine Frage zu den SQL JOIN-Bedingungen. Macht es einen Unterschied, wenn ich die JOIN-Bedingung umdrehe, bspw. statt

SELECT m.VName, m.Name, a.Name
FROM mitarbeiter AS m
LEFT JOIN abteilung AS a
ON m.F_AbtNr = a.AbtNr;

folgendes schreibe:

SELECT m.VName, m.Name, a.Name
FROM mitarbeiter AS m
LEFT JOIN abteilung AS a
ON a.AbtNr = m.F_AbtNr;

In einem Test hat sich nichts geändert oder hat das erst Auswirkungen, wenn ich mehrere Tabellen verknüpfe? Also bspw. so:

SELECT m.VName, m.Name, a.Name, adr.Straße
FROM mitarbeiter AS m
LEFT JOIN abteilung AS a
ON m.F_AbtNr = a.AbtNr
LEFT JOIN Adressen AS adr
ON a.F_AdrID = adr.AdrID;


Man merkt vielleicht, dass das mit der Adress-Tabelle nicht unbedingt das beste Beispiel ist, aber mir ist gerade nichts anderes eingefallen. Hätte es in dem Beispiel denn dann Auswirkungen, wenn ich statt "ON a.F_AdrID = adr.AdrID" "ON adr.AdrID = a.F_AdrID" schreibe?

Gruß
PSaR04

Content-ID: 217952

Url: https://administrator.de/contentid/217952

Ausgedruckt am: 22.11.2024 um 20:11 Uhr

colinardo
colinardo 26.09.2013 aktualisiert um 20:12:21 Uhr
Goto Top
Hallo PSaR04,
die Reihenfolge ist egal ... Die "Rechte" Tabelle ist definiert durch das LEFT JOIN xx.
Also die Tabelle die du im JOIN-Befehl angibst ist immer die Rechte Tabelle.
Die Felder nach ON können dann in einer beliebigen Reihenfolge stehen, das Ergebnis ist das selbe.

Grüße Uwe
PSaR04
PSaR04 26.09.2013 um 21:06:26 Uhr
Goto Top
Alles klar, vielen Dank!

Grüße PSaR04