Att hantera NULL-värden i SQL är en vanlig utmaning för dataanalytiker och databasexperter. Hanteringen av dessa värden kan ofta upplevas som komplicerad och förvirrande, vilket kan leda till frustration vid dataanalys.
För att erhålla korrekta och fullständiga datainsikter är det viktigt att förstå vad NULL-värden är och vad de representerar. Denna artikel kommer att gå igenom SQL-kommandon och hur man använder dem för att räkna både NULL- och NOT NULL-värden.
Vad är ett SQL NULL-värde?
Ett NULL-värde indikerar avsaknad av ett värde, det är varken noll eller ett blanksteg.
De vanliga jämförelseoperatorerna som =, <, > och <> kan inte tillämpas direkt på NULL-värden. Om de används returneras resultatet som OKÄNT.
Se på ett NULL-värde som ett fält som lämnats tomt vid skapandet av en post. Du kan skapa en tabell och lägga till en ny kolumn utan att ange ett värde. Det fältet blir då ett NULL-värde. NULL-värden kan förekomma i kolumner med vilken datatyp som helst.
För att illustrera detta, skapa en ny 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 NULL-värden i en tabell med kommandot UPDATE. För att göra detta, använd följande syntax:
UPDATE Employee SET FirstName="Esther" WHERE Salary = 200000;
För att se resultatet, kör:
SELECT * FROM Employee;
När är SQL NULL-värden användbara?
NULL-värden kan vara användbara i flera situationer i SQL:
- När information saknas eller inte är känd vid datainmatning.
- När information inte är relevant för en viss entitet. Exempelvis kan en enkätfråga där deltagarna ska markera om de har barn ha några NULL-värden.
Vad är SQL IS NULL-villkor?
SQL-kommandot IS NULL är ett viktigt kommando som alla programmerare bör känna till. Det används för att undersöka NULL-värden och är mest effektivt när man letar efter just dessa värden. Kommandot returnerar alla rader där den specificerade kolumnen har ett NULL-värde.
SELECT FirstName, LastName, PhoneNum FROM Employee WHERE PhoneNum IS NULL;
Denna fråga returnerar alla rader med NULL-värden i kolumnen PhoneNum.
Vad är SQL IS NOT NULL-villkor?
SQL-kommandot IS NOT NULL är motsatsen till SQL IS NULL.
Detta kommando används för att hitta icke-tomma värden (NOT NULL-värden). Det returnerar alla rader i en kolumn som har ett värde, och exkluderar alla NULL-värden i den specificerade kolumnen.
SELECT FirstName, LastName, PhoneNum FROM Employee WHERE PhoneNum IS NOT NULL;
Denna fråga returnerar alla rader med NOT NULL-värden i kolumnen PhoneNum.
Hur räknar man SQL NULL-värden i en kolumn?
Kommandot COUNT() används för att räkna. Det är ett användbart kommando när du analyserar data i dina SQL-tabeller, arbetar med SQL-underfrågor och temporära tabeller.
Använd följande fråga för att räkna antalet NULL-vä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 NOT NULL-värden i en kolumn?
Använd kommandot IS NOT NULL för att räkna antalet icke-NULL-värden i kolumnen PhoneNum.
SELECT COUNT(PhoneNum) AS [Total Number of Non-NULL Values] FROM Employee WHERE PhoneNum IS NOT NULL
Detta kommer att returnera:
Du kan också använda följande fråga för att visa resultatet i en tabell:
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 denna fråga används kommandona CASE och IS NULL för att kategorisera NULL-värden i kolumnen PhoneNum som 1. Detta värde summeras och lagras i de nya kolumnerna Number Of Null Values.
Räkna NULL-värden och fortsätt din analys
Även om NULL-värden kan verka komplicerade, är de i själva verket ganska enkla att hantera. Med hjälp av COUNT() kan du enkelt räkna både NULL- och icke-NULL-värden med bara några rader SQL-kod.
När du har bekantat dig med dessa SQL-kommandon kan du använda dem i olika situationer och analysera din data på ett effektivt sätt.