Possible Duplicate:
Explicit vs implicit SQL joins
SQL JOIN: is there a difference between USING, ON or WHERE?
I'm going over code maintained by a developer who was not very familiar with SQL. I see snippets such as the following quite frequently in his code:
SELECT *
FROM person, status
WHERE person.status_id = status.id
I've suggested to him that he use the following instead:
SELECT *
FROM person
INNER JOIN status ON status.id = person.status_id
He pointed to the fact that, in this particular case, both queries returned identical results in an identical time frame (34k rows in 67 ms). The fact that my new query didn't change anything in this case is evidence to him that there is nothing wrong with this method. I've tried explaining cartesian products and such to him, but he insists that there is nothing wrong with this method. Can someone help provide negative examples of where relying on this would fail, and/or why this line of querying is dangerous from an implementation perspective?