Wenn ich sage:
Table1 left join Table2
ist es dasselbe wie zu sagen?:
Table2 right join Table1
Mit anderen Worten, sollte ich erwarten, dass bei zwei identischen Abfragen dieselben Ergebnisse erzielt werden, bei denen nur geändert wird, welche Tabelle zuerst geschrieben wird und ob ein linker oder rechter Join verwendet wird (nach demselben Muster, das ich oben beschrieben habe?).
sql-server
join
Juan Velez
quelle
quelle
Antworten:
Ja, die Ergebnisse sind gleich. Schauen Sie sich dies als Beispiel an:
Die Ausgabe enthält dieselben exakten Felder (wohlgemerkt, wenn Sie
SELECT *
die Spaltenreihenfolge verwenden, unterscheidet sich die Reihenfolge zwischen den Abfragen) mit denselben exakten Daten.Als Referenz sind hier die beiden Ausführungspläne:
quelle