Hallo zusammen !
Ich würde gerne mal etwas von euch wissen wollen. Wenn ich einen Inner Join über zwei oder evtl. auch mehrere Tabellen vornehme, dann baue ich ja den Inner Join über die sogenannte ON Klausel auf.
Ich habe bisher durch die eigene Praxis festgestellt, dass es egal ist, auf welcher Seite ich vom Schlüsselwort Inner Join welche Tabelle schreibe, es wird semantisch immer das gleiche Ergebnis produziert.
Ein Beispiel:
Diese Anweisung:
führt exakt zu demselben Ergebnis wie diese Anweisung:
Nun stellt sich für mich die Frage, ob es die Semantik der Ergebnismenge signifikant verändert, wenn ich nicht die Tabellenamen innerhlab der INNER JOIN Klausel austausche, sondern nur die Fremd- und Primärschlüsselfelder innerhalb der ON Klausel?
Nochmal ein Beispiel:
Anstatt
schreibe ich stattdessen
und baue die Join Bedingung um, indem ich nur die Bedingungen in der ON Klausel vertausche.
Ich hatte das mal selbst ausgetestet und habe keine Veränderungen festgestellt. Ich stelle diese Frage jetzt hier im Forum, weil ich zu dieser speziellen Frage in keiner Literatur und auch nirgens im Internet eine ganz genaue und detailierte Antwort zu dieser Frage finden konnte. Insbesondere ist diese Frage interessant, wenn ein INNER JOIN auf diese Weise über mehrere Tabellen aufgebaut wird und ab und an mal die ON Klausel unterschiedlich aufgebaut werden.
Bitte keine Hinweise und Links zu Seite, wo die einfache Syntax des INNER JOINS erläutert wird. Da habe ich bereits etliche durch, es geht einzig und alleine um das Vertauschen der ON Klausel.
Viele Grüße
Kossy
Ich würde gerne mal etwas von euch wissen wollen. Wenn ich einen Inner Join über zwei oder evtl. auch mehrere Tabellen vornehme, dann baue ich ja den Inner Join über die sogenannte ON Klausel auf.
Ich habe bisher durch die eigene Praxis festgestellt, dass es egal ist, auf welcher Seite ich vom Schlüsselwort Inner Join welche Tabelle schreibe, es wird semantisch immer das gleiche Ergebnis produziert.
Ein Beispiel:
Diese Anweisung:
SQL:
Tabelle_1 INNER JOIN Tabelle_2
ON Tabelle_1.feld_a = Tabelle_2.feld_a
führt exakt zu demselben Ergebnis wie diese Anweisung:
SQL:
Tabelle_2 INNER JOIN Tabelle_1
ON Tabelle_1.feld_a = Tabelle_2.feld_a
Nun stellt sich für mich die Frage, ob es die Semantik der Ergebnismenge signifikant verändert, wenn ich nicht die Tabellenamen innerhlab der INNER JOIN Klausel austausche, sondern nur die Fremd- und Primärschlüsselfelder innerhalb der ON Klausel?
Nochmal ein Beispiel:
Anstatt
SQL:
Tabelle_1 INNER JOIN Tabelle_2
ON Tabelle_1.feld_a = Tabelle_2.feld_a
schreibe ich stattdessen
SQL:
Tabelle_1 INNER JOIN Tabelle_2
ON Tabelle_2.feld_a = Tabelle_1.feld_a
und baue die Join Bedingung um, indem ich nur die Bedingungen in der ON Klausel vertausche.
Ich hatte das mal selbst ausgetestet und habe keine Veränderungen festgestellt. Ich stelle diese Frage jetzt hier im Forum, weil ich zu dieser speziellen Frage in keiner Literatur und auch nirgens im Internet eine ganz genaue und detailierte Antwort zu dieser Frage finden konnte. Insbesondere ist diese Frage interessant, wenn ein INNER JOIN auf diese Weise über mehrere Tabellen aufgebaut wird und ab und an mal die ON Klausel unterschiedlich aufgebaut werden.
Bitte keine Hinweise und Links zu Seite, wo die einfache Syntax des INNER JOINS erläutert wird. Da habe ich bereits etliche durch, es geht einzig und alleine um das Vertauschen der ON Klausel.
Viele Grüße
Kossy
Zuletzt bearbeitet von einem Moderator: