SQL Filter criteria in join criteria or where clause which is more efficient

I wouldn’t use performance as the deciding factor here – and quite honestly, I don’t think there’s any measurable performance difference between those two cases, really.

I would always use case #2 – why? Because in my opinion, you should only put the actual criteria that establish the JOIN between the two tables into the JOIN clause – everything else belongs in the WHERE clause.

Just a matter of keeping things clean and put things where they belong, IMO.

Obviously, there are cases with LEFT OUTER JOINs where the placement of the criteria does make a difference in terms of what results get returned – those cases would be excluded from my recommendation, of course.

Marc

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)