sql >> Database >  >> RDS >> Sqlserver

Hoe kan een LEFT OUTER JOIN meer records retourneren dan er in de linkertabel staan?

De LEFT OUTER JOIN retourneert alle records van de LEFT-tabel, waar mogelijk samengevoegd met de RIGHT-tabel.

Als er echter overeenkomsten zijn, retourneert het nog steeds alle rijen die overeenkomen, daarom wordt een rij LINKS die overeenkomt met twee rijen RECHTS geretourneerd als twee RIJEN, net als een INNER JOIN.

EDIT:Als reactie op uw bewerking heb ik zojuist uw vraag verder bekeken en het lijkt erop dat u alleen gegevens uit de LINKER-tabel retourneert. Daarom, als u alleen gegevens uit de LEFT-tabel wilt, en u wilt slechts één rij geretourneerd voor elke rij in de LEFT-tabel, dan hoeft u helemaal geen JOIN uit te voeren en kunt u gewoon een SELECT rechtstreeks vanuit de LEFT-tabel doen.



  1. Wachtgebeurtenissen SQL Server -2

  2. Geef informatie over de versie van het besturingssysteem terug in SQL Server met de dynamische beheerweergave sys.dm_os_host_info

  3. SQL Ontbrekend haakje op volgorde per instructie

  4. Wat kan intermitterende ORA-12519 (TNS:geen geschikte handler gevonden) fouten veroorzaken?