Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I hate joins in the where clause because it is semantically wrong and confuses the building the set part with the filtering the result part.

It is not "semantically wrong": conceptually, you can compute a join by taking the Cartesian product and then applying the join predicates to the result, which is actually what the implicit join syntax suggests. Semantically, there is no difference between applying an (inner) join predicate and applying any other predicate. There is also no actual division between "building the set" and "filtering the result": different predicates might be applied in different orders, before or after different relations in the query have been accessed.



Thats how I think about it too. Thanks for the better explanation.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: