I noticed on some test data that queries of the form
SELECT *
FROM a
JOIN b ON a.x = b.y
WHERE [more conditions...];
were returning the same data as queries of the form
SELECT *
FROM a,b
WHERE a.x = b.y
AND [more conditions...];
Intuitively they seem equivalent, but I'm not confident that this is the case.
I prefer the query that uses JOIN
as it separates the general structure of the query from the specific business logic of the query. i.e. The conditions in the WHERE
section of the query using JOIN
are ones that could be parameterized.
In which other ways, if any, are these queries not identical?