Esiste qualche differenza tra l'inserimento di predicati aggiuntivi in un'istruzione JOIN e l'aggiunta di questi come clausole aggiuntive nell'istruzione WHERE?T-SQL: predicati aggiuntivi su JOINs rispetto alla clausola WHERE
Esempio 1: predicato sulla clausola WHERE
select emp.*
from Employee emp
left join Order o on emp.Id = o.EmployeeId
where o.Cancelled = 0
Esempio 2: predicato sulla privacy Iscrizione
select emp.*
from Employee emp
left join Order o on emp.Id = o.EmployeeId and o.Cancelled = 0
corretti diversi risultati possono essere restituiti, ma penso che ha davvero bisogno alcuni dati di esempio che mostrano questo. –
Sì, stavo cercando di evitare di usare le parole "corretto" o "errato", perché in realtà sono solo diversi. Potrebbe essere che uno * desideri * restituire solo i record in cui vi è una corrispondente riga "destra" con il predicato soddisfatto. –
Se si desidera restituire solo i record in corrispondenza di una riga "destra" corrispondente, è necessario utilizzare un JOIN (o INNER JOIN per utilizzare la sintassi completa). L'utilizzo di LEFT JOIN invia messaggi in conflitto a qualcuno che sta leggendo la query e non è chiaro cosa dovrebbe fare la query. – JonPayne