10 ms·
> There are 3 people, and there are 3 people who don't have a NULL car. This is not what you are asking with your query: as someone else stated, NULL is meant
by mrighele 2y ago
> There are 3 people, and there are 3 people who don't have a NULL car.
This is not what you are asking with your query: as someone else stated, NULL is meant to be "UNKNOWN", or "it could be any valid value".
So nothing is ever equal to something that can be anything, because even another NULL (i.e. unknown) value is in general different.
So in the line
SELECT name FROM people WHERE carId = NULL
the condition will always be false. Now if instead if meant to search for the rows where carId is actually unknown you have to write
SELECT name FROM people WHERE carId is NULL
And your query will return as one may expect 2.
- mrkeen 2y ago> So nothing is ever equal to something that can be anything It's worse than that. It's something is neither equal nor not-equal to something else. Whether you can implement something differently as a workaround is immaterial. It's weird, per the title.