Почему PostgreSQL не возвращает нулевые значения при условии <> true

Я был смущен из-за следующих соображений:

SELECT * FROM table WHERE avalue is null

Возвращает количество строк x, в которых значение avalue равно нулю.

SELECT * FROM table WHERE avalue <> true

Есть лине вернуть строки, в которых «avalue» равно нулю.

Мои рассуждения (которые кажутся неверными) таковы, чтоnull является уникальным значением (оно даже не равноnull) означает, что он должен отображаться в наборе результатов, поскольку он не равенtrue или.

Я думаю, вы могли бы утверждать, что, сказавcolumn <> value вы подразумеваете, что столбец имеет значение, поэтому игнорируяnull ценности в целом.

Какова причина этого и то же самое в других распространенных базах данных SQL?

Мои рассуждения (предположения) говорят мне, что это нелогично, и я хотел узнать, почему.

Ответы на вопрос(3)

Ваш ответ на вопрос