Значения SQL NULL — IS NULL и IS NOT NULL
❮ Предыдущий Далее ❯
Что такое значение NULL?
Поле со значением NULL является полем без значения.
Если поле в таблице является необязательным, можно вставить новую запись или обновить запись, не добавляя значение в это поле. Тогда поле будет сохраняется со значением NULL.
Примечание: Значение NULL отличается от нулевого значения или поля, которое содержит пробелы. Поле со значением NULL — это поле, оставленное пустым. при создании записи!
Как проверить значения NULL?
Невозможно проверить значения NULL с помощью операторов сравнения, таких как =, < или <>.
Нам придется использовать IS NULL
и IS NOT NULL вместо
операторов.
IS NULL Синтаксис
SELECT имена_столбцов
FROM имя_таблицы
ГДЕ имя_столбца IS NULL;
IS NOT NULL Синтаксис
SELECT имена столбцов
ОТ имя_таблицы
ГДЕ имя_столбца НЕ НУЛЕВОЕ;
Демонстрационная база данных
Ниже приведена выборка из таблицы «Клиенты» в образце «Борей» база данных:
CustomerID | ИмяКлиента | Контактное имя | Адрес | Город | Почтовый индекс | Страна |
---|---|---|---|---|---|---|
1 | Альфред Футтеркисте | Мария Андерс | ул. Обере 57 | Берлин | 12209 | Германия |
2 | Ана Трухильо Emparedados y helados | Ана Трухильо | Авда. Конститусьон 2222 | Мексика Д.Ф. | 05021 | Мексика |
3 | Антонио Морено Такерия | Антонио Морено | Матадерос 2312 | Мексика Д.Ф. | 05023 | Мексика |
4 | Вокруг Рога | Томас Харди | Лондон | ВА1 1ДП | Великобритания | |
5 | Берглундс снабжение | Кристина Берглунд | Бергувсвеген 8 | Лулео | S-958 22 | Швеция |
Оператор IS NULL
Оператор IS NULL
используется для проверки пустых значений (значений NULL).
Следующий SQL перечисляет всех клиентов со значением NULL в поле «Адрес»:
Пример
SELECT CustomerName, ContactName, Address
FROM Customers
WHERE Address
НУЛЕВОЙ;
Попробуйте сами »
Совет: Всегда используйте IS NULL для поиска значений NULL.
Оператор IS NOT NULL
Оператор IS NOT NULL
используется для проверки непустых значений (NOT NULL
ценности).
Следующий SQL перечисляет всех клиентов со значением в поле «Адрес»:
Пример
SELECT CustomerName, ContactName, Address
FROM Customers
WHERE Address
НЕ НУЛЬ;
Попробуйте сами »
Проверьте себя с помощью упражнений
Упражнение:
Выберите все записи из Customers
, где Столбец PostalCode
пуст.
ВЫБЕРИТЕ * ИЗ клиентов ГДЕ ;
Запустить Упражнение
❮ Предыдущий Следующий ❯
НАБОР ЦВЕТА
Лучшие учебники
Учебник по HTMLУчебник по CSS
Учебник по JavaScript
Учебник How To
Учебник по SQL
Учебник по Python
Учебник по Bootstrap
Учебник по PHP
Учебник по Java
Учебник по C++
Учебник по jQuery
Лучшие ссылки
HTML ReferenceCSS Reference
JavaScript Reference
SQL Reference
Python Reference
W3.CSS Reference
Bootstrap Reference
PHP Reference
HTML Colors
Java Reference
Angular Reference
jQuery Reference
Top1s Примеры HTML
Примеры CSS
Примеры JavaScript
Примеры инструкций
Примеры SQL
Примеры Python
Примеры W3.CSS
Примеры PHP
Примеры Java
Примеры XML
Примеры jQuery
FORUM | О
W3Schools оптимизирован для обучения и обучения. Примеры могут быть упрощены для улучшения чтения и обучения. Учебники, ссылки и примеры постоянно пересматриваются, чтобы избежать ошибок, но мы не можем гарантировать полную правильность всего содержания. Используя W3Schools, вы соглашаетесь прочитать и принять наши условия использования, куки-файлы и политика конфиденциальности.
W3Schools работает на основе W3.CSS.
Помощник SQL Server
Заявление INSERT — часто задаваемые вопросы
1. Как вставить литеральные значения или константы в таблицу или представление?
Ответ:
Чтобы вставить только литеральные значения или константы в таблицу или представление, вы будете использовать простейшая форма оператора INSERT, а именно:
ВСТАВИТЬ В| [( )] ЗНАЧЕНИЯ ( <список_значений> )
Ключевое слово VALUES указывает значения одной строки таблицы. Ценности задаются как разделенный запятыми список скалярных выражений, тип данных которых, точность и масштаб должны быть такими же или неявно преобразуемыми в соответствующий столбец в списке столбцов.
Чтобы проиллюстрировать, как использовать INSERT INTO… VALUES для таблицы Customers:
CREATE TABLE [dbo].[Клиенты] ( [ID] INT NOT NULL, [Имя] VARCHAR(50) НЕ NULL, [Фамилия] VARCHAR(50) НЕ NULL)
Чтобы вставить строку в эту таблицу, используя литеральные значения, введите следующее:
INSERT INTO [dbo].[Customers] ( [ID], [FirstName], [LastName]) ЗНАЧЕНИЯ (1, 'Билл', 'Гейтс')
Поскольку список столбцов является необязательным, вы также можете сделать следующее. Только убедитесь, что последовательность вставляемых значений соответствует последовательности столбцов в таблице.
ВСТАВЬТЕ В [dbo]. [Клиенты] ЗНАЧЕНИЯ (2, 'Ларри', 'Эллисон')
Хотя список столбцов является необязательным, рекомендуется, чтобы он всегда предоставляется при выполнении INSERT. Это делается для того, чтобы убедиться, что ваш INSERT оператор будет по-прежнему работать, и каждый столбец получит правильное значение, даже если новые столбцы добавляются или вставляются между другими столбцами в таблице.
Сервер: сообщение 213, уровень 16, состояние 5, строка 1 Ошибка вставки: имя столбца или количество предоставленных значений не соответствует определению таблицы.
2. Как вставить строки одной таблицы в другую таблицу?
Ответ:
ВСТАВИТЬ В| [ ( ) ] SELECT FROM |
Использование подзапроса SELECT позволяет вставлять более одной строки одновременно. Список столбцов подзапроса SELECT должен соответствовать списку столбцов ВСТАВИТЬ заявление. Если список столбцов не указан, список выбора должен соответствовать столбцам в таблице или представлении, в которое вставляется. ВЫБЕРИТЕ подзапрос может ссылаться на одну или несколько таблиц или представлений, используя соединения.
Чтобы проиллюстрировать, как использовать оператор INSERT с подзапросом SELECT, предполагая, что у вас есть 2 таблицы с именами [dbo].[Customers] и [dbo].[NewCustomers] и вы хотите вставить в таблицу [dbo].[Customers]. все записи из таблицы [dbo].[NewCustomers]:
INSERT INTO [dbo].[Customers] ( [ID], [FirstName], [LastName]) ВЫБЕРИТЕ [ID], [Имя], [Фамилия] ОТ [dbo].[НовыеКлиенты]
Поскольку список столбцов является необязательным, вы также можете сделать следующее. Только убедитесь, что последовательность вставляемых значений соответствует последовательности столбцов в таблице.
ВСТАВИТЬ В [dbo].[Клиенты] ВЫБЕРИТЕ [ID], [Имя], [Фамилия] ОТ [dbo].[НовыеКлиенты]
Хотя список столбцов является необязательным, рекомендуется, чтобы он всегда предоставляется при выполнении INSERT. Это делается для того, чтобы убедиться, что ваш INSERT оператор будет по-прежнему работать, и каждый столбец получит правильное значение, даже если новые столбцы добавляются или вставляются между другими столбцами в таблице. Если в таблицу добавляется еще один столбец и выполняется та же самая команда INSERT без списка столбцов будет обнаружена следующая ошибка:
Сервер: сообщение 213, уровень 16, состояние 5, строка 1 Ошибка вставки: имя столбца или количество предоставленных значений не соответствует определению таблицы.
3. Как вставить в таблицу строки из другой таблицы и некоторые литеральные значения?
Ответ:
Чтобы вставить значения в таблицу из одной или нескольких таблиц или представлений и с некоторыми литеральные значения для некоторых столбцов, вы будете использовать подзапрос SELECT в INSERT утверждение следующим образом:
ВСТАВИТЬ В| [ ( ) ] SELECT | <литеральное_значение> FROM |
Использование подзапроса SELECT позволяет вставлять более одной строки одновременно. Список столбцов и литеральные значения подзапроса SELECT должны соответствовать список столбцов оператора INSERT.