SQL best practices – don’t compare count(*) with 0

Every now and then I see something like this:

select u.* from users u
where 0 = (select count(*) from addresses a where a.user_id = u.id);

and it kinda pains me. So figured, I'll write about what is the problem with it, and how to avoid such constructs.

Continue reading SQL best practices – don't compare count(*) with 0