Hallo,
ich habe eine Frage zu dem Join von mehreren Tabellen. Wenn ich zwei Tabellen bspw. einen left join habe, ist es ja ganz einfach. Dann werden aus der linken Tabelle alle Sätze genommen und die passenden aus der rechten dran gejoint.
Wie ist das bei nachfolgendem Beispiel, wenn ich mehrere Joins habe - insbesondere bei dem Join der Tabelle_4 and die Tabelle_2. Wird dort erst die Tabelle 1 mit 2 gejoint und das Ergebnis dann left outer an die Tabelle 4?
select *
from
Tabelle_1
left join Tabelle_2 on Tabelle_1.X = Tabelle_2.X
join Tabelle_3 on Tabelle_2.X = Tabelle_3.X
left join Tabelle_4 on Tabelle_4.X = Tabelle_2.X
Wenn ich die Join-Logik umdrehe wird es noch etwas komplizierter. Ich habe die left joins durch right joins getauscht und jetzt ist es ja ein Unterschied, ob ich erst die Tabelle_1 mit 2 right joine oder erst Tabelle_2 mit 4 right joine und dann das Ergebnis mit Tabelle_1.
select *
from
Tabelle_1
right join Tabelle_2 on Tabelle_1.X = Tabelle_2.X
join Tabelle_3 on Tabelle_2.X = Tabelle_3.X
right join Tabelle_4 on Tabelle_4.X = Tabelle_2.X
Gibt es irgendeine Seit wo diese Probleme anhand von Beispielen erklärt sind?
Gruß
R_007
ich habe eine Frage zu dem Join von mehreren Tabellen. Wenn ich zwei Tabellen bspw. einen left join habe, ist es ja ganz einfach. Dann werden aus der linken Tabelle alle Sätze genommen und die passenden aus der rechten dran gejoint.
Wie ist das bei nachfolgendem Beispiel, wenn ich mehrere Joins habe - insbesondere bei dem Join der Tabelle_4 and die Tabelle_2. Wird dort erst die Tabelle 1 mit 2 gejoint und das Ergebnis dann left outer an die Tabelle 4?
select *
from
Tabelle_1
left join Tabelle_2 on Tabelle_1.X = Tabelle_2.X
join Tabelle_3 on Tabelle_2.X = Tabelle_3.X
left join Tabelle_4 on Tabelle_4.X = Tabelle_2.X
Wenn ich die Join-Logik umdrehe wird es noch etwas komplizierter. Ich habe die left joins durch right joins getauscht und jetzt ist es ja ein Unterschied, ob ich erst die Tabelle_1 mit 2 right joine oder erst Tabelle_2 mit 4 right joine und dann das Ergebnis mit Tabelle_1.
select *
from
Tabelle_1
right join Tabelle_2 on Tabelle_1.X = Tabelle_2.X
join Tabelle_3 on Tabelle_2.X = Tabelle_3.X
right join Tabelle_4 on Tabelle_4.X = Tabelle_2.X
Gibt es irgendeine Seit wo diese Probleme anhand von Beispielen erklärt sind?
Gruß
R_007