Å håndtere NULL-verdier i SQL er en vanlig oppgave for alle som jobber med data, enten det er dataanalytikere eller databaseeksperter. Det kan virke utfordrende og forvirrende å jobbe med NULL, og dette kan skape frustrasjon i dataanalyseprosesser.
For å oppnå presis og pålitelig datainnsikt, er det essensielt å forstå hva NULL-verdier er og hva de representerer. Denne artikkelen vil gå gjennom SQL-kommandoer som hjelper deg med å telle både NULL- og IKKE NULL-verdier på en effektiv måte.
Hva er en SQL NULL-verdi?
En NULL-verdi indikerer fravær av data. Det betyr ikke null, og det er heller ikke det samme som et mellomrom.
Vanlige sammenligningsoperatorer som =, <, > og <> kan ikke brukes direkte på NULL-verdier. Hvis du prøver, vil resultatet bli UKJENT (UNKNOWN).
Se for deg en NULL-verdi som et felt som er blankt i en databaseoppføring. Du kan opprette en tabell og legge til en ny kolonne uten å fylle den med data, og da vil dette feltet ha en NULL-verdi. Det er også mulig å sette NULL-verdier i kolonner av alle datatyper.
For å illustrere dette, kan vi opprette en SQL-tabell med følgende syntaks:
CREATE TABLE Ansatt ( Fornavn VARCHAR(50), Etternavn VARCHAR(50), Telefonnummer VARCHAR(15), Lønn FLOAT ); INSERT INTO Ansatt (Fornavn, Etternavn, Telefonnummer, Lønn) 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 også endre NULL-verdier i en tabell med SQL-kommandoen UPDATE. For å gjøre det, bruk denne syntaksen:
UPDATE Ansatt SET Fornavn="Esther" WHERE Lønn = 200000;
For å se resultatet, kjør:
SELECT * FROM Ansatt;
Når er SQL NULL-verdier nyttige?
NULL-verdier kan være nyttige i forskjellige situasjoner:
- Når data mangler eller er ukjente ved registrering.
- Når data ikke er relevante for en bestemt enhet. For eksempel kan et spørsmål i en undersøkelse der deltakerne blir spurt om de har barn, resultere i NULL-verdier for de som ikke har barn.
Hva er SQL IS NULL-betingelsen?
SQL-kommandoen IS NULL er en viktig del av SQL. Den brukes til å finne NULL-verdier. Kommandoen returnerer alle radene som inneholder NULL-verdier i den spesifiserte kolonnen.
SELECT Fornavn, Etternavn, Telefonnummer FROM Ansatt WHERE Telefonnummer IS NULL;
Denne spørringen returnerer alle NULL-verdiene i Telefonnummer-kolonnen.
Hva er SQL IS NOT NULL-betingelsen?
SQL-kommandoen IS NOT NULL er det motsatte av IS NULL.
Denne kommandoen sjekker for verdier som ikke er tomme (IKKE NULL). Den returnerer alle radene i en kolonne som har en verdi, og den ekskluderer alle NULL-verdier fra kolonnen som er spesifisert i spørringen.
SELECT Fornavn, Etternavn, Telefonnummer FROM Ansatt WHERE Telefonnummer IS NOT NULL;
Denne spørringen returnerer alle IKKE NULL-verdiene i Telefonnummer-kolonnen.
Hvordan telle SQL NULL-verdier i en kolonne?
Kommandoen COUNT() brukes for å telle. Den er nyttig når du analyserer data i SQL-tabeller og jobber med underspørringer og midlertidige tabeller.
Bruk denne spørringen for å telle antall NULL-verdier i Telefonnummer-kolonnen.
SELECT COUNT(*) AS [Totalt antall NULL] FROM Ansatt WHERE Telefonnummer IS NULL
Dette vil returnere:
Hvordan telle IKKE NULL-verdier i en kolonne?
Bruk kommandoen IS NOT NULL for å telle antall IKKE NULL-verdier i Telefonnummer-kolonnen.
SELECT COUNT(Telefonnummer) AS [Totalt antall IKKE-NULL Verdier] FROM Ansatt WHERE Telefonnummer IS NOT NULL
Dette vil returnere:
Du kan også bruke denne spørringen for å få resultatet i en tabell:
SELECT SUM(CASE WHEN Telefonnummer is null THEN 1 ELSE 0 END) AS [Antall NULL-verdier], COUNT(Telefonnummer) AS [Antall IKKE-NULL verdier] FROM Ansatt
I denne spørringen brukte vi CASE- og IS NULL-kommandoene til å identifisere NULL-verdiene i Telefonnummer-kolonnen som 1. Denne verdien ble summert og lagret i den nye «Antall NULL-verdier»-kolonnen.
Tell NULL-verdier og fortsett analysen
Selv om NULL-verdier kan virke kompliserte, er de enkle å håndtere. Med kommandoen COUNT() kan du telle NULL- og IKKE NULL-verdier med noen få linjer med SQL-kode.
Når du mestrer SQL-kommandoene, kan du bruke dem på forskjellige situasjoner og analysere dataene dine på en effektiv og smidig måte.