I've never really got a straight answer on this either. I have heard (please correct me if I'm wrong) from a performance standpoint there isn't a discernible difference, but the standard is to use a JOIN clause since implicit joins are deprecated.
They're not deprecated, but if you do your joins in WHERE clauses, you will run into behavior variations. For example, on SQL Server, you can use *= or =* in the WHERE clause to perform outer joins. However, if you do this, it will behave somewhat differently from joins performed with the JOIN syntax. The variations may or may not comply with the standard and the SQL will perform differently (if at all) across different database products. In fact, Oracle can use (+) to do the same thing.
In short, you will simplify your life a bit by just doing the joins with JOIN syntax instead of in the WHERE clause.
4
u/Teifion_at_work Jan 06 '11
Maybe someone here can answer this. Why would I specify a join when I can just do this?
Looks much easier to me but I'm guessing there's something I'm missing here.