Оператор SQL «Is Not Null»

Operator Sql Is Not Null



В SQL мы можем использовать оператор IS NOT NULL для фильтрации результатов из таблицы базы данных, где значение определенного столбца не равно нулю. Это может помочь гарантировать, что вы получите чистые данные, не содержащие пропущенных значений, которые могут вызвать проблемы, особенно в функциях, которые не обрабатывают значения NULL.

Значение NULL означает отсутствие данных, которые не включают пустые строки, числовой нуль или NaN.







В этом уроке мы узнаем, как использовать оператор IS NOT NULL для фильтрации результатов, содержащих значения NULL в данном запросе.



Синтаксис:

Мы можем выразить основной синтаксис условия IS NOT NULL, как показано в следующем фрагменте кода:



ВЫБРАТЬ столбец1, столбец2, ...
ОТ имя_таблицы
ГДЕ имя_столбца НЕ NULL;


Мы начинаем с ключевого слова «select» и указываем столбцы, которые мы хотим получить в наборе результатов, а затем имя таблицы, из которой мы хотим получить данные.





Далее мы используем предложение WHERE, чтобы ввести фильтрацию данных на основе определенного столбца. Наконец, мы указываем условие, по которому мы хотим фильтровать.

Пример 1:

Давайте рассмотрим несколько примеров того, как мы можем использовать условие IS NOT NULL для фильтрации результатов.



Рассмотрим образец базы данных Sakila, который доступен для бесплатного скачивания на официальной странице MySQL.

Предположим, мы хотим получить имена клиентов, у которых «last_name» не равно нулю. Для этого мы можем использовать запрос, как показано ниже:

выбирать
*
от
клиент с
где
последнее_имя не равно нулю;


В этом случае запрос возвращает все строки из таблицы клиентов, в которых значение столбца «last_name» не равно нулю.

Пример 2: Операторы И и ИЛИ

Мы можем объединить условие IS NOT NULL с другими условиями, используя операторы AND и OR. Это создает более детальную фильтрацию.

Например, предположим, что мы хотим получить клиентов, у которых «last_name» не равно нулю и чьи имена — Нэнси или Холли.

Мы можем использовать запрос, как показано ниже:

ВЫБИРАТЬ
Пользовательский ИД,
имя,
фамилия,
электронная почта
ОТ
клиент
ГДЕ
фамилия_имя НЕ НУЛЕВОЕ
И ( первое_имя = 'Нэнси'
ИЛИ имя_имя = 'Холли' ) ;


В этом запросе мы объединяем условие IS NOT NULL с операторами AND и OR, чтобы отфильтровать записи, в которых фамилия не равна NULL или имя равно Нэнси или Холли.

Полученный результат выглядит следующим образом:


Как видите, это обеспечивает возможность более детальной и мелкой фильтрации целевых данных.

Пример 3. Использование агрегатных функций

Мы также можем использовать функцию IS NOT NULL в сочетании с агрегатными функциями SQL. Например, мы можем использовать его с функцией count() для подсчета количества ненулевых значений в данном столбце.

Например, предположим, что мы хотим определить количество клиентов с ненулевыми адресами электронной почты. Мы можем использовать запрос следующим образом:

ВЫБИРАТЬ
СЧИТАТЬ ( Пользовательский ИД ) АС всего
ОТ
клиент
ГДЕ
адрес электронной почты НЕ НУЛЬ;


Это должно вернуть количество ненулевых значений в столбце в виде числового значения следующим образом:

общий |
-----+
599 |

Заключение

В этом руководстве мы узнали все об условии IS NOT NULL в SQL для фильтрации нулевых значений из заданного набора результатов или таблицы базы данных. Мы также узнали, как можно создать более сложную фильтрацию, комбинируя условие IS NOT NULL с другими условиями с помощью операторов AND и OR.