SQL — значение NULL

21.04.2017
SQL - значение NULL

Значение NULL это термин, используемый для представления недостающего значения. Значение NULL в таблице является значением в поле, которое представляется пустым.

Поле со значением NULL представляет собой поле без значения. Это очень важно понимать, что значение NULL отличается от нулевого значения или поля, которое содержит пробелы.

Синтаксис

Базовый синтаксис NULL при создании таблицы.

SQL> CREATE TABLE CUSTOMERS(
   ID   INT              NOT NULL,
   NAME VARCHAR (20)     NOT NULL,
   AGE  INT              NOT NULL,
   ADDRESS  CHAR (25) ,
   SALARY   DECIMAL (18, 2),       
   PRIMARY KEY (ID)
);

 

Здесь NOT NULL означает, что столбец всегда должен принимать явное значение данного типа данных. Есть две колонки, где мы не использовали NOT NULL, это означает, что эти столбцы могут быть NULL.

Поле со значением NULL является то, которое можно оставить пустым во время создания записи.

Примеры

Значение NULL может вызвать проблемы при выборе данных. Однако, при сравнении неизвестного значения с любым другим значением, результат всегда неизвестен и не включен в результаты. Вы должны использовать операторы IS NULL или IS NOT NULL, чтобы проверить на значение NULL.

Рассмотрим таблицу клиентов, имеющую следующий записи, как показано ниже:

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Maxim    |  35 | Moscow    | 21000.00 |
|  2 | AndreyEx |  38 | Krasnodar | 55500.00 |
|  3 | Oleg     |  33 | Rostov    | 34000.00 |
|  4 | Masha    |  35 | Moscow    | 34000.00 |
|  5 | Ruslan   |  34 | Omsk      | 45000.00 |
|  6 | Dima     |  32 | SP        |          |
|  7 | Roma     |  34 | SP        |          |
+----+----------+-----+-----------+----------+

 

Теперь, используем оператор IS NOT NULL.

SQL> SELECT  ID, NAME, AGE, ADDRESS, SALARY
   FROM CUSTOMERS
   WHERE SALARY IS NOT NULL;

 

Это выдаст следующий результат:

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Maxim    |  35 | Moscow    | 21000.00 |
|  2 | AndreyEx |  38 | Krasnodar | 55500.00 |
|  3 | Oleg     |  33 | Rostov    | 34000.00 |
|  4 | Masha    |  35 | Moscow    | 34000.00 |
|  5 | Ruslan   |  34 | Omsk      | 45000.00 |
+----+----------+-----+-----------+----------+

 

Теперь, используем оператор IS NULL.

SQL> SELECT  ID, NAME, AGE, ADDRESS, SALARY
   FROM CUSTOMERS
   WHERE SALARY IS NULL;

 

Это выдаст следующий результат:

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  6 | Dima     |  32 | SP        |          |
|  7 | Roma     |  34 | SP        |          |
+----+----------+-----+-----------+----------+

 

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Редактор: AndreyEx

Рейтинг: 4.7 (3 голоса)

Поделиться в соц. сетях:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Это может быть вам интересно


Загрузка...

Спасибо!

Теперь редакторы в курсе.

Прокрутить страницу до начала