Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come può un LEFT OUTER JOIN restituire più record di quanti ne esistano nella tabella di sinistra?

Il LEFT OUTER JOIN restituirà tutti i record dalla tabella LEFT uniti alla tabella DESTRA, ove possibile.

Se ci sono corrispondenze, tuttavia, restituirà tutte le righe che corrispondono, quindi una riga a SINISTRA che corrisponde a due righe a DESTRA restituirà come due RIGHE, proprio come un INNER JOIN.

EDIT:in risposta alla tua modifica, ho appena dato un'ulteriore occhiata alla tua query e sembra che tu stia restituendo solo dati dalla tabella SINISTRA. Pertanto, se desideri solo i dati dalla tabella LEFT e desideri restituire solo una riga per ogni riga nella tabella LEFT, non hai bisogno di eseguire un JOIN e puoi semplicemente eseguire un SELECT direttamente dalla tabella LEFT.