Обработването на NULL стойности е от съществено значение по време на анализа на данни. Научете как да броите празни и непразни стойности в колона.

Работата с NULL стойности в SQL е често срещано предизвикателство, с което се сблъсква всеки анализатор на данни и професионалист в база данни. Това е особено важно, защото работата с NULL може да бъде непосилна и объркваща, което води до разочарование по време на анализа на данните.

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

Какво е SQL NULL стойност?

Стойност NULL означава липса на стойност, а не нула или интервал.

По този начин вашите традиционни оператори за сравнение като =, и <> не могат да се използват за него. Ако се използва обаче, резултатът ще бъде НЕИЗВЕСТЕН.

Мислете за стойността NULL като за поле, оставено празно по време на създаване на запис. Можете да създадете таблица и да вмъкнете нова колона, без да добавяте стойност. Следователно това поле ще бъде NULL стойност. NULL стойности могат също да бъдат вмъкнати в колони от произволен тип данни.

instagram viewer

За да демонстрирате това, трябва създайте нова SQL таблица използвайки синтаксиса по-долу:

CREATETABLE Employee (

 FirstName VARCHAR(50),

 LastName VARCHAR(50),

 PhoneNum VARCHAR(15),

 Salary FLOAT

);

INSERTINTO Employee (FirstName, LastName, PhoneNum, Salary)

VALUES

 ('Maxwell', 'Ayomide', '812-345-6789', 150000.00),

 ('David', 'Tosin', NULL, 450000.00),

 ('Eben', 'Teniola', '912-345-6789', 590000.00),

 ('Kenneth', 'Olisa', '809-456-8732', NULL),

 ('Esther', 'Oge', NULL, NULL);

Можете също да актуализирате NULL стойности в таблица, като използвате удобна за начинаещи SQL команда, оператор АКТУАЛИЗАЦИЯ. За да направите това, използвайте синтаксиса по-долу.

UPDATE Employee
SET FirstName = 'Esther'
WHERE Salary = 200000;

За да видите резултата, изпълнете:

SELECT * FROM Employee;

Кога са полезни SQL NULL стойностите?

NULL стойност може да се използва в различни ситуации в SQL:

  • Когато данните са недостъпни или неизвестни към момента на въвеждане на данните.
  • Когато данните не се отнасят за въпросния субект. Например, в анкета, въпрос, който моли участниците да отбележат квадратчето, ако имат деца, може да има някои NULL стойности.

Какво представлява условието SQL IS NULL?

Командата SQL IS NULL е една от важни SQL команди, които всеки програмист трябва да знае. Тази команда се използва за тестване за NULL стойности и се използва най-добре, когато се търсят NULL стойности. Тази команда ще върне всички NULL редове в колоната, посочена във вашата заявка.

SELECT FirstName, LastName, PhoneNum

FROM Employee

WHERE PhoneNum IS NULL;

Тази заявка ще върне всички NULL стойности в PhoneNum колона.

Какво представлява условието SQL IS NOT NULL?

Командата SQL IS NOT NULL е противоположна на командата SQL IS NULL.

Тази команда тества за непразни стойности (НЕ NULL стойности). По този начин той винаги ще връща всички редове в колона със стойност и ще изключва всички NULL стойности в колоната, посочена във вашата заявка.

SELECT FirstName, LastName, PhoneNum

FROM Employee

WHERE PhoneNum IS NOT NULL;

Тази заявка ще върне всички стойности NOT NULL в PhoneNum колона.

Как да преброим SQL NULL стойности в колона?

The БРОЯ() командата се използва за броене. Това е команда, която е полезна, когато анализирате данни във вашите SQL таблици и работа с SQL подзаявки и временни таблици.

Използвайте тази заявка, за да преброите броя на NULL стойностите в PhoneNum колона.

SELECTCOUNT(*) AS [Total NumberofNULL] 

FROM Employee

WHERE PhoneNum IS NULL

Това ще върне:

Как да преброим NOT NULL стойности в колона?

Използвайте командата NOT NULL, за да преброите броя не-NULL стойности в PhoneNum колона.

SELECTCOUNT(PhoneNum) AS [Total Numberof Non-NULLValues] 

FROM Employee

WHERE PhoneNum IS NOT NULL

Това ще върне:

Можете също да използвате тази заявка, за да поставите резултата в таблица.

SELECTSUM(CASEWHEN PhoneNum isnullTHEN1ELSE0END) 

AS [Number Of Null Values],

COUNT(PhoneNum) AS [Number Of Non-Null Values]

FROM Employee

В тази заявка командите CASE и IS NULL бяха използвани за класифициране на вашето NULL в PhoneNum колона като 1. Тази стойност беше добавена и запазена в новосформирания Брой нулеви стойности колони.

Пребройте NULL стойности и продължете с вашия анализ

Колкото и поразителна да е NULL стойността. Всъщност с тях се работи лесно. Използвайки COUNT(), можете да преброите вашите NULL и не-NULL стойности само с няколко реда SQL кодове.

След като знаете своите SQL команди, можете да ги приложите към различни случаи на употреба и да анализирате данните си без усилие.