Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie kann ein LEFT OUTER JOIN mehr Datensätze zurückgeben, als in der linken Tabelle vorhanden sind?

Der LEFT OUTER JOIN gibt alle Datensätze aus der LEFT-Tabelle zurück, die nach Möglichkeit mit der RIGHT-Tabelle verknüpft sind.

Wenn es jedoch Übereinstimmungen gibt, werden trotzdem alle Zeilen zurückgegeben, die übereinstimmen. Daher wird eine Zeile in LEFT, die mit zwei Zeilen in RIGHT übereinstimmt, als zwei ROWS zurückgegeben, genau wie bei einem INNER JOIN.

BEARBEITEN:Als Antwort auf Ihre Bearbeitung habe ich mir Ihre Abfrage noch einmal angesehen und es sieht so aus, als würden Sie nur Daten aus der LINKEN Tabelle zurückgeben. Wenn Sie also nur Daten aus der LEFT-Tabelle und nur eine Zeile für jede Zeile in der LEFT-Tabelle zurückgeben möchten, müssen Sie überhaupt keinen JOIN ausführen und können einfach direkt aus der LEFT-Tabelle ein SELECT ausführen.