Jak policzyć wartości SQL NULL i NOT NULL w kolumnie

Praca z wartościami NULL w SQL jest częstym wyzwaniem, przed którym staje każdy analityk danych i specjalista ds. baz danych. Jest to szczególne, ponieważ radzenie sobie z wartością NULL może być przytłaczające i zagmatwane, co prowadzi do frustracji podczas analizy danych.

Jednak ważne jest, aby zrozumieć, czym są te wartości NULL i co oznaczają, aby uzyskać dokładny i kompleksowy wgląd w dane. W tym artykule omówimy polecenia SQL i sposoby ich używania do zliczania wartości NULL i NOT NULL.

Co to jest wartość NULL SQL?

Wartość NULL oznacza brak wartości, a nie zero lub spację.

Dlatego nie można w nim używać tradycyjnych operatorów porównania, takich jak =, <, > i <>. Jeśli jednak zostanie użyty, wynik będzie NIEZNANY.

Pomyśl o wartości NULL jako o polu pozostawionym pustym podczas tworzenia rekordu. Możesz utworzyć tabelę i wstawić nową kolumnę bez dodawania wartości. Pole to będzie zatem miało wartość NULL. Wartości NULL można także wstawiać do kolumn dowolnego typu danych.

Aby to zademonstrować, należy utworzyć nową tabelę SQL, korzystając z poniższej składni:

 CREATE TABLE Employee (

 FirstName VARCHAR(50),

 LastName VARCHAR(50),

 PhoneNum VARCHAR(15),

 Salary FLOAT

);

INSERT INTO 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);

Możesz także zaktualizować wartości NULL w tabeli za pomocą przyjaznego dla początkujących polecenia SQL, instrukcji UPDATE. Aby to zrobić, użyj poniższej składni.

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

Aby zobaczyć wynik, uruchom:

 SELECT * FROM Employee;

Kiedy wartości SQL NULL są przydatne?

Wartości NULL można używać w różnych sytuacjach w języku SQL:

  • Gdy dane są niedostępne lub nieznane w momencie ich wprowadzania.
  • Gdy dane nie dotyczą danego podmiotu. Na przykład w ankiecie pytanie prosząc uczestników o zaznaczenie pola, czy mają dzieci, może mieć pewne wartości NULL.

Co to jest warunek SQL IS NULL?

Polecenie SQL IS NULL jest jednym z ważnych poleceń SQL, które powinien znać każdy programista. To polecenie służy do testowania wartości NULL i najlepiej jest go używać podczas wyszukiwania wartości NULL. To polecenie zwróci wszystkie wiersze NULL w kolumnie określonej w zapytaniu.

 SELECT FirstName, LastName, PhoneNum

FROM Employee

WHERE PhoneNum IS NULL;

To zapytanie zwróci wszystkie wartości NULL w kolumnie PhoneNum.

Co to jest warunek SQL IS NOT NULL?

Polecenie SQL IS NOT NULL jest przeciwieństwem polecenia SQL IS NULL.

To polecenie sprawdza, czy wartości nie są puste (wartości NIE NULL). Dlatego zawsze zwróci wszystkie wiersze w kolumnie z wartością i wykluczy wszystkie wartości NULL w kolumnie określonej w zapytaniu.

 SELECT FirstName, LastName, PhoneNum

FROM Employee

WHERE PhoneNum IS NOT NULL;

To zapytanie zwróci wszystkie wartości NOT NULL w kolumnie PhoneNum.

Jak policzyć wartości NULL SQL w kolumnie?

Do liczenia służy polecenie COUNT(). Jest to polecenie przydatne podczas analizowania danych w tabelach SQL oraz pracy z podzapytaniami SQL i tabelami tymczasowymi.

Użyj tego zapytania, aby policzyć liczbę wartości NULL w kolumnie PhoneNum.

 SELECT COUNT(*) AS [Total Number of NULL] 

FROM Employee

WHERE PhoneNum IS NULL

To zwróci:

Jak policzyć wartości NOT NULL w kolumnie?

Użyj polecenia NOT NULL, aby policzyć liczbę wartości innych niż NULL w kolumnie PhoneNum.

 SELECT COUNT(PhoneNum) AS [Total Number of Non-NULL Values] 

FROM Employee

WHERE PhoneNum IS NOT NULL

To zwróci:

Możesz także użyć tego zapytania, aby umieścić wynik w tabeli.

 SELECT SUM(CASE WHEN PhoneNum is null THEN 1 ELSE 0 END) 

AS [Number Of Null Values],

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

FROM Employee

W tym zapytaniu użyto poleceń CASE i IS NULL do sklasyfikowania wartości NULL w kolumnie PhoneNum jako 1. Wartość ta została dodana i zachowana w nowo utworzonych kolumnach Number Of Null Values.

Policz wartości NULL i kontynuuj analizę

Tak przytłaczająca, jak tylko może być wartość NULL. Praca z nimi jest naprawdę prosta. Używając COUNT(), możesz policzyć wartości NULL i inne niż NULL za pomocą zaledwie kilku linii kodów SQL.

Gdy znasz już polecenia SQL, możesz je zastosować w różnych przypadkach i bez wysiłku analizować dane.