While admittedly this could be seen as a mistake in SQL, you can differentiate by looking at whether b.id is NULL or not.
Re:Typed nils in Go 2
by marcus_holmes on Friday August 11, 2017 @08:44AM
(#14989051)
true, but that's not the point the OP was making, I think :)
SELECT a.id, b.name FROM a LEFT JOIN b ON a.id = b.id
If you get a NULL in the name field, you don't know if that's because there's no record in b for that id, or if there is a record in b for that id but it has a NULL name value. Sometimes that difference will be important.