Особенности работы оператора IS NULL при сравнении булевых значений заключаются в том, что он вернёт истину, если операнд имеет значение NULL, и ложь, если он им не является. 2
Это связано с тем, что NULL указывает на отсутствие значения, и когда он сравнивается с любым значением, даже с другим таким же NULL, результат будет ни true, ни false, он неизвестен (undefined). 1