SQL оператор „не е нула“.

Sql Operator Ne E Nula



В SQL можем да използваме оператора IS NOT NULL, за да филтрираме резултатите от таблица на база данни, където стойността на конкретна колона не е нула. Това може да помогне да се гарантира, че получавате чисти данни, които не съдържат липсващи стойности, което може да причини проблеми, особено във функции, които не обработват NULL стойности.

Стойността NULL се отнася до липсата на данни, които не включват празни низове, цифрова нула или NaN.







В този урок ще научим как можем да използваме оператора IS NOT NULL, за да филтрираме резултатите, които съдържат NULL стойности в дадена заявка.



Синтаксис:

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



ИЗБЕРЕТЕ колона1, колона2, ...
ОТ име_таблица
WHERE име_на_колона НЕ Е NULL;


Започваме с ключовата дума „select“ и посочваме колоните, които искаме да извлечем в набора от резултати, последвани от името на таблицата, от която искаме да извлечем данните.





След това използваме клаузата WHERE, за да въведем филтрирането на данни въз основа на конкретна колона. Накрая посочваме условието, при което искаме да филтрираме.

Пример 1:

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



Помислете за примерната база данни на Sakila, която е достъпна безплатно за изтегляне на официалната страница на MySQL.

Да предположим, че искаме да извлечем имената на клиенти, чието “last_name” не е равно на null. Можем да използваме заявката, както е показано по-долу, за да постигнем това:

изберете
*
от
клиент c
където
last_name не е нула;


В този случай заявката връща всички редове от таблицата с клиенти, където стойността на колоната „last_name“ не е нула.

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

Можем да комбинираме условието IS NOT NULL с други условия, като използваме операторите И и ИЛИ. Това създава по-подробно филтриране.

Да предположим например, че искаме да извлечем клиентите, чието „фамилно_име“ не е нула и чието първо име е Нанси или Холи.

Можем да използваме заявка, както е показано в следното:

ИЗБЕРЕТЕ
Клиентски номер,
първо име,
фамилия,
електронна поща
ОТ
клиент
КЪДЕТО
last_name НЕ Е NULL
И ( първо_име = 'Нанси'
ИЛИ име = 'Холи' ) ;


В тази заявка ние комбинираме условието IS NOT NULL с операторите AND и OR, за да филтрираме записите, където фамилното име не е null или първото име е равно на Nancy или Holly.

Резултатът е както следва:


Както можете да видите, това осигурява начин за извършване на по-подробно и миниатюрно филтриране на целевите данни.

Пример 3: Използване на агрегатните функции

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

Да предположим например, че искаме да определим броя на клиентите с ненулеви имейл адреси. Можем да използваме заявката, както следва:

ИЗБЕРЕТЕ
БРОЯ ( Клиентски номер ) КАТО общо
ОТ
клиент
КЪДЕТО
имейлът НЕ Е НУЛЕВ;


Това трябва да върне броя на ненулевите стойности в колоната като числова стойност, както следва:

обща сума |
-----+
599 |

Заключение

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