in SQL Server:
As a general rule of thumb, JOIN clauses are evaluated before WHERE clauses.
In case of complex joins that need filters in the join part, I write them along with my join
SELECT *
FROM A
LEFT JOIN B
ON A.Foo1 = B.Foo1
And A.Date = 'Yesterday'
OUTER JOIN C
ON B.Foo2 = C.Foo2
JOIN D
ON B.Foo3 = D.Foo3