My experience has shown either syntax (WHERE vs INNER JOIN) to provide the same result without noticeable performance difference.
I think the INNER JOIN syntax was added later in the SQL standards.
If you solely use JOIN statements, one could argue the readability is better (aka more explicit). Other than that, perhaps a particular DBMS would "optimize better" with INNER JOIN or WHERE - but I kind of doubt it.
-Charlie
On 4/2/2019 6:05 PM, Garrett Fitzgerald wrote:
Hey, all. I had a general SQL question. Often, I find myself needing to use the syntax:
FROM a LEFT JOIN b ON a.key = b.key AND b.field = 'Value'
because if I filter b.field in the WHERE clause, I've effectively made the LEFT JOIN an inner one.
That makes me wonder, at what point do we stop moving conditions to the JOIN clause? Obviously, some can't move for syntactical reasons, such as subqueries. But short of that, when does it make sense to limit a non-outer join in the join criteria? Never?
--- StripMime Report -- processed MIME parts --- multipart/alternative text/plain (text body -- kept) text/html
[excessive quoting removed by server]