Bene, ciò che chiami "equivalente" non è un equivalente per gli outer join. Prendiamo ad esempio il join sinistro.
Condizione in UNISCITI:
SELECT * FROM Customers c
LEFT JOIN CustomerAccounts ca ON ca.CustomerID = c.CustomerID AND c.State = 'NY'
LEFT JOIN Accounts a ON ca.AccountID = a.AccountID AND a.Status = 1
vs DOVE:
SELECT * FROM Customers c
LEFT JOIN CustomerAccounts ca ON ca.CustomerID = c.CustomerID
LEFT JOIN Accounts a ON ca.AccountID = a.AccountID
WHERE c.State = 'NY'
AND a.Status = 1
Mettere le condizioni nella clausola WHERE rende effettivamente i join INNER join, perché la clausola WHERE è un filtro di riga che viene applicato dopo i join sono stati effettuati.