What is the difference between … and … and why does the latter not work?
SELECT COUNT(*), 'null_tally' AS narrative FROM us WHERE a IS NULL UNION SELECT COUNT(*), 'not_null_tally' AS narrative
Note: A NULL value is different from a zero value or a field that contains spaces.
Специальное значение NULL означает отсутствие данных, констатацию того факта, что значение неизвестно. По умолчанию это значение могут принимать столбцы и переменные любых типов, если только на них не наложено ограничение NOT NULL.
NULL в Системах управления базами данных (СУБД) — специальное значение (псевдозначение), которое может быть записано в поле таблицы базы данных (БД). NULL соответствует понятию «пустое поле», то есть «поле, не содержащее никакого значения».
Связано ли это с типом null и с тем, как он обрабатывается, или с тем, как выполняются операции сравнения значений? В итоге я решил докопаться до сути происходящего и начал рыться в единственном источнике истины для JavaScript — в спецификации ECMA.
значения SQL NULL. Если столбец в таблице не является обязательным, то мы можем вставлять новые записи или обновить существующие записи без добавления значения в столбце.
SQL’s NULL indicates absent data. NULL propagates through expressions and needs distinct comparison operators.
11223344) UNION SELECT NULL,NULL,NULL,NULL WHERE 1=2 –- Если нет ошибки, значит синтаксис верный, т.е. используется MS SQL Server.
11223344) UNION SELECT NULL,NULL,NULL,NULL WHERE 1=2 –- No Error - Syntax is right. MS SQL Server Used. Proceeding.