Tell NULL-verdier i SQL: Enkle triks for eksakte data!

Å 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.