Jak policzyć wartości SQL NULL i NOT NULL w kolumnie?
Praca z wartościami NULL w SQL jest powszechnym wyzwaniem, przed którym staje każdy analityk danych i specjalista od baz danych. Dzieje się tak w szczególności dlatego, że praca z wartościami NULL może być przytłaczająca i myląca, co prowadzi do frustracji podczas analizy danych.
Ważne jest, aby docenić znaczenie zrozumienia wartości null w celu uzyskania precyzyjnych i wszechstronnych wglądów w dane. W tym artykule zagłębimy się w polecenia SQL i ich zastosowanie w ustalaniu liczby zarówno wartości null, jak i non-null.
Co to jest wartość SQL NULL?
Wartość null oznacza brak jakiejkolwiek wartości i nie należy jej mylić z brakiem danych reprezentowanych przez zera lub spacje.
W związku z tym użycie konwencjonalnych operatorów porównania, takich jak =, <, > i <> jest niewłaściwe w przypadku zastosowania do wspomnianej jednostki. Jakakolwiek próba zrobienia tego przyniesie niezdefiniowany wynik.
Rozważmy koncepcję wartości NULL jako niezajętego miejsca w rekordzie bazy danych, które jest tworzone, gdy informacje nie zostały dostarczone dla określonego pola podczas jego tworzenia. Ten brak informacji może wystąpić w dowolnej kolumnie typu danych w całej strukturze tabeli.
Aby zilustrować tę koncepcję, wygenerujemy tabelę SQL wykorzystującą następującą 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 również zaktualizować wartości null w tabeli, korzystając z przyjaznego dla użytkownika polecenia SQL znanego jako instrukcja UPDATE. Składnia tego polecenia jest podana poniżej.
UPDATE Employee
SET FirstName = 'Esther'
WHERE Salary = 200000;
Aby wyświetlić wynik, uruchom:
SELECT * FROM Employee;
Kiedy wartości SQL NULL są przydatne?
W SQL wartość null może być stosowana w wielu kontekstach:
W przypadkach, gdy informacje dotyczące konkretnego fragmentu danych nie zostały zarejestrowane, ponieważ są albo nieosiągalne, albo nie zostały jeszcze odkryte,
W niektórych sytuacjach, w których podane informacje nie odnoszą się do konkretnej osoby lub podmiotu, do którego się odnoszą, na przykład podczas odpowiadania na ankiety i pytania dotyczące spraw osobistych, takich jak posiadanie dzieci, mogą wystąpić przypadki niekompletnych lub brakujących odpowiedzi reprezentowanych przez wartości null.
Co to jest warunek SQL IS NULL?
Jednym z podstawowych poleceń SQL, które każdy biegły programista powinien znać, jest instrukcja “IS NULL”, która służy jako niezbędne narzędzie do identyfikacji wartości null w określonej kolumnie podczas operacji pobierania danych.To potężne polecenie skutecznie odfiltrowuje wiersze zawierające wartości null, umożliwiając użytkownikom skupienie się na wynikach innych niż null i przeprowadzenie bardziej ukierunkowanej analizy lub przetwarzania.
SELECT FirstName, LastName, PhoneNum
FROM Employee
WHERE PhoneNum IS NULL;
Powyższe zapytanie ma na celu pobranie wszystkich instancji wartości null w kolumniePhoneNumcolumn.
Co to jest warunek SQL IS NOT NULL?
Instrukcja SQL IS NOT NULL służy jako zaprzeczenie polecenia SQL IS NULL, wyrażając warunek wykluczający wiersze, w których określona kolumna nie ma wartości lub zawiera wartości null.
Niniejsze zapytanie dotyczy operacji, która sprawdza brak lub obecność wartości null w wyznaczonym zestawie danych. W związku z tym wszelkie wpisy zawierające istotne informacje zostaną wyliczone, podczas gdy te wykazujące charakterystykę zerową zostaną wykluczone z wyników generowanych przez kryteria wyszukiwania.
SELECT FirstName, LastName, PhoneNum
FROM Employee
WHERE PhoneNum IS NOT NULL;
To zapytanie pobierze wszystkie wartości inne niż null w kolumniePhoneNum.
Jak policzyć wartości SQL NULL w kolumnie?
Funkcja COUNT()
służy jako podstawowe narzędzie do ilościowego określania liczby rekordów w określonej kolumnie lub wyrażeniu w danej tabeli SQL, okazując się szczególnie przydatna podczas procesu badania i manipulowania danymi poprzez wykorzystanie podzapytań SQL i tabel tymczasowych.
Wykorzystaj poniższe zapytanie, aby określić całkowitą 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?
Wykorzystaj implementację ograniczenia NOT NULL, aby ustalić liczbę instancji w kolumnie PhoneNum, w których takie unieważnienie nie jest dozwolone.
SELECT COUNT(PhoneNum) AS [Total Number of Non-NULL Values]
FROM Employee
WHERE PhoneNum IS NOT NULL
To zwróci:
Można również wykorzystać to zapytanie do wyświetlenia wyniku w formacie tabelarycznym.
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 konkretnym zapytaniu wykorzystanie instrukcji warunkowych CASE i IS NULL umożliwiło kategoryzację wartości null obecnych w kolumnie PhoneNum. Te wartości null zostały następnie włączone i zachowane w nowej, specjalnie wyznaczonej kolumnie znanej jako “Liczba wartości null”.
Policz wartości NULL i kontynuuj analizę
Pomimo zniechęcającej obecności wartości null, w rzeczywistości można nimi zarządzać za pomocą prostych poleceń SQL.Korzystając z funkcji COUNT(), można łatwo określić liczbę zarówno zerowych, jak i niepustych punktów danych w systemie bazy danych.
Dzięki kompleksowemu zrozumieniu poleceń SQL, użytkownik jest w stanie wykorzystać te umiejętności w szeregu aplikacji i skutecznie zbadać swój zbiór danych przy minimalnym wysiłku.