If you want to find more information on this topic, you can try googling 'join vs where'. Here are a couple of other questions that address the same thing:
- Inner join vs Where
- MySQL: Inner join vs Where
- http://forums.devx.com/showthread.php?t=19242
A quote from the third one is interesting (regarding SQL Server, but they are probably similar in behavior):
If you measure this, you will most likely discover that the two
versions use the exact same access plan. SQL Server tries very hard to
optimize a query, and in that process, a where clause which equates
columns from two tables will be converted to an inner join.
These seems to indicate that technically the join is correct and more efficient than a where, but it doesn't matter in practice because optimization will likely correct the where into a join. However, for cases where it won't optimize, it is better to be explicit, and as indicated by others, join
is the right way to do it.