SQL поддерживает специальное значение, известное как NULL, которое используется для представления значений атрибутов, которые могут быть неизвестны или не применяться к кортежу. Например, атрибут Apartment_number адреса применяется только к адресу, который находится в многоквартирных домах, а не к другим типам резиденций.
- Важно понимать, что значение NULL отличается от нулевого значения.
- Значение NULL используется для представления отсутствующего значения, но обычно оно имеет одну из трех разных интерпретаций:
- Значение неизвестно (значение существует, но не известно)
- Значение недоступно (существует, но намеренно удерживается)
- Атрибут не применим (не определено для этого кортежа)
- Часто невозможно определить, какое значение имеет смысл. Следовательно, SQL не различает различные значения NULL.
В общем, каждое значение NULL считается отличным от любого другого значения NULL в базе данных. Когда в операции сравнения участвует NULL, результат считается НЕИЗВЕСТНЫМ. Следовательно, SQL использует трехзначную логику со значениями True, False и Unknown. Поэтому необходимо определить результаты трехзначных логических выражений, когда используются логические связки И, ИЛИ и НЕ.
Как проверить значения NULL?
SQL разрешает запросы, которые проверяют, является ли значение атрибута NULL. Вместо использования = или для сравнения значения атрибута с NULL, SQL использует IS и IS NOT . Это связано с тем, что SQL считает каждое значение NULL отличным от любого другого значения NULL, поэтому сравнение на равенство не подходит.
Примеры:
Рассмотрим следующую таблицу сотрудников,
Запросы
- Найдите Fname, Lname Сотрудника, не имеющего Super_ssn.
SELECT Fname, Lname FROM Employee WHERE Super_ssn IS NULL;
Выход:
- Найти количество сотрудников, имеющих Super_ssn.
SELECT COUNT(*) AS Count FROM Employee WHERE Super_ssn IS NOT NULL;
Выход:
Эта статья предоставлена Anuj Chauhan . Если вы как GeeksforGeeks и хотели бы внести свой вклад, вы также можете написать статью с помощью contribute.geeksforgeeks.org или по почте статьи contribute@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.
Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.
Рекомендуемые посты:
- Различия между операционными системами баз данных и хранилищем данных
- Разница между Схемой Снежинки и Схемой Созвездия Фактов
- Протокол сплетен в Кассандре
- Тип счетчика в Кассандре
- Стратегия репликации в Кассандре
- Резервное копирование и восстановление данных в Кассандре
- Модификация пространства клавиш в Кассандре
- Хранение WOS и ROS в HP Vertica
- Особенности Кассандры
- Изменение пользовательского типа (UDT)
- Операция слияния в HP Vertica
- Выполнение запроса в HP Vertica
- Условно обновляемые столбцы
- Локальное индексирование и материализованные представления в Cassandra 3.0
0.00 (0%) 0 votes