I found what I think is a bug in SQLite 3.33.0: Under certain conditions, NULL isn’t evaluated as NULL. The behavior isn’t present in 3.21.0.
I was working on a project for a data analysis course when I encountered the problem. It took me a while to conclude the problem was with SQLite, rather than my code.
I’ve created an Jupyter notebook that illustrates the problem and shared a static version.
I’ve also shared a zip file with the notebook and the database I was working with.
All this was done in preparation for bringing it to the attention of SQLite developers.
Update: They fixed it in no-time-flat!