Hur man räknar SQL NULL- och NOT NULL-värden i en kolumn
Att arbeta med NULL-värden i SQL är en vanlig utmaning som alla dataanalytiker och databasspecialister ställs inför. Detta är särskilt viktigt eftersom hantering av NULL-värden kan vara överväldigande och förvirrande, vilket leder till frustration under dataanalysen.
Det är viktigt att förstå betydelsen av att förstå null-värden för att få exakta och allomfattande datainsikter. I den här artikeln ska vi fördjupa oss i SQL-kommandon och deras tillämpning för att fastställa antalet både null- och non-null-värden.
Vad är SQL NULL-värde?
Ett null-värde innebär att det inte finns något värde, och ska inte förväxlas med brist på data som representeras av nollor eller mellanslag.
Följaktligen är det olämpligt att använda konventionella jämförelseoperatorer som =, <, > och <> när de tillämpas på nämnda enhet. Varje försök att göra det kommer att ge ett odefinierat resultat.
Betrakta begreppet NULL-värde som ett ledigt utrymme i en databaspost, som skapas när information inte har tillhandahållits för ett visst fält under dess bildande. Denna informationsvakans kan uppstå i vilken datatypskolumn som helst i en tabellstruktur.
För att illustrera detta koncept kommer vi att generera en SQL-tabell med följande syntax:
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);
Du kan också uppdatera nollvärden i en tabell med hjälp av ett användarvänligt SQL-kommando som kallas UPDATE-satsen. Syntaxen för att göra detta visas nedan.
UPDATE Employee
SET FirstName = 'Esther'
WHERE Salary = 200000;
För att visa resultatet, kör:
SELECT * FROM Employee;
När är SQL NULL-värden användbara?
I SQL kan ett null-värde användas i en rad olika sammanhang:
I fall där information om en viss uppgift inte har registrerats på grund av att den antingen inte kan erhållas eller ännu inte har upptäckts,
I vissa situationer där den information som tillhandahålls inte gäller den specifika person eller enhet som avses, t.ex. när man svarar på enkäter och frågor ställs om personliga saker som att ha barn, kan det förekomma ofullständiga eller saknade svar som representeras av nollvärden.
Vad är SQL IS NULL-tillstånd?
Ett av de viktigaste SQL-kommandona som alla skickliga programmerare bör känna till är “IS NULL”-satsen, som fungerar som ett oumbärligt verktyg för att identifiera nollvärden i en viss kolumn under datahämtning.Detta kraftfulla kommando filtrerar effektivt bort rader som innehåller nollvärden, vilket gör det möjligt för användare att fokusera på resultat som inte innehåller nollvärden och utföra mer riktad analys eller bearbetning.
SELECT FirstName, LastName, PhoneNum
FROM Employee
WHERE PhoneNum IS NULL;
Ovanstående förfrågan är utformad för att hämta alla förekomster av null-värden i kolumnenPhoneNum.
Vad är SQL IS NOT NULL-tillstånd?
SQL IS NOT NULL-satsen fungerar som negationen av SQL IS NULL-kommandot och uttrycker ett villkor som utesluter rader där den angivna kolumnen inte har ett värde eller innehåller null-värden.
Den aktuella förfrågan gäller en åtgärd som granskar frånvaron eller förekomsten av nollvärden i en angiven datauppsättning. Följaktligen kommer alla poster som innehåller väsentlig information att räknas upp medan de som uppvisar en nollegenskap kommer att uteslutas från de resultat som genereras av sökkriterierna.
SELECT FirstName, LastName, PhoneNum
FROM Employee
WHERE PhoneNum IS NOT NULL;
Denna förfrågan kommer att hämta alla icke-nullvärden i kolumnenPhoneNum.
Hur räknar man SQL NULL-värden i en kolumn?
Funktionen COUNT()
är ett viktigt verktyg för att kvantifiera antalet poster i en angiven kolumn eller uttryck i en viss SQL-tabell, vilket är särskilt användbart när man undersöker och manipulerar data med hjälp av SQL-subqueries och temporära tabeller.
Använd följande förfrågan för att bestämma det totala antalet nollvärden i kolumnen “PhoneNum”.
SELECT COUNT(*) AS [Total Number of NULL]
FROM Employee
WHERE PhoneNum IS NULL
Detta kommer att returnera:
Hur räknar man INTE NULL-värden i en kolumn?
Använd implementeringen av NOT NULL-restriktionen för att fastställa antalet instanser i kolumnen PhoneNum där ingen sådan nullifiering är tillåten.
SELECT COUNT(PhoneNum) AS [Total Number of Non-NULL Values]
FROM Employee
WHERE PhoneNum IS NOT NULL
Detta kommer att returnera:
Man kan också använda denna förfrågan för att visa resultatet i tabellformat.
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
I den här specifika undersökningen möjliggjorde användningen av både CASE- och IS NULL-villkorssatserna kategorisering av nollvärden i kolumnen PhoneNum. Dessa nollvärden har därefter införlivats och bevarats i en ny, särskilt utsedd kolumn som kallas “Antal nollvärden”.
Räkna NULL-värden och fortsätt med din analys
Trots den skrämmande förekomsten av nollvärden är de faktiskt hanterbara med hjälp av enkla SQL-kommandon.Genom att använda COUNT()-funktionen kan man enkelt bestämma antalet både null- och non-null-datapunkter i sitt databassystem.
Med en omfattande förståelse för SQL-kommandon kan man använda dessa färdigheter i en rad olika applikationer och effektivt undersöka sin datauppsättning med minimal ansträngning.