I never used "JOIN" as a bareword... it's always INNER, LEFT, or CROSS. The first two require (or should, IMHO) an ON clause -- so I expect to see one right away. The last one doesn't -- I use it when trying to find multiple matches in a many-to-many table -- so I use CROSS JOIN to indicate that the specified value will be in the where clause. Basically, my rule is like this: if the "join" compares two DB fields, it goes in an ON clause; otherwise, it goes in a WHERE clause while referencing a constant (e.g. for CROSS JOIN). Obviously, LEFT JOIN is sometimes an exception. Besides, why not stick to standard SQL whenever possible?