У меня есть таблица shop_categories с полем category_is_hidden, которое определено как:
category_is_hidden tinyint(4) DEFAULT NULL
В базе данных значения этого поля либо 1, либо NULL.
SELECT * FROM shop_categories where category_is_hidden IS NULL
возвращает все пустые записи.
SELECT * FROM shop_categories where category_is_hidden <> 1
возвращает пустые множества (то есть исключает нулевые значения).
Почему это последнее утверждениене включать пустые записи?не равно нулю <> 1?
Редактировать: протестировано на MySQL 5.1 и 5.5