Welnu, wat u 'equivalent' noemt, is geen equivalent voor outer joins. Laten we bijvoorbeeld de linker join nemen.
Voorwaarde in JOIN:
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 WAAR:
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
Door de voorwaarden in de WHERE-clausule te plaatsen, worden de joins effectief INNER joins, omdat de WHERE-component een rij is filter dat wordt toegepast na de koppelingen zijn gemaakt.