SQL 'Is Not Null'-operatør

Sql Is Not Null Operator



I SQL kan vi bruge operatoren IS NOT NULL til at filtrere resultaterne fra en databasetabel, hvor værdien af ​​en specifik kolonne ikke er null. Dette kan være med til at sikre, at du får en ren data, der ikke indeholder manglende værdier, hvilket kan give problemer især i funktioner, der ikke håndterer NULL-værdier.

En NULL-værdi refererer til fraværet af data, som ikke inkorporerer de tomme strenge, numerisk nul eller NaN.







I denne øvelse lærer vi, hvordan vi kan bruge operatoren IS NOT NULL til at bortfiltrere de resultater, der indeholder NULL-værdier i en given forespørgsel.



Syntaks:

Vi kan udtrykke den grundlæggende syntaks for IS NOT NULL-betingelsen som vist i følgende kodestykke:



VÆLG kolonne1, kolonne2, ...
FRA tabelnavn
WHERE column_name IS NOT NULL;


Vi starter med nøgleordet 'vælg' og specificerer de kolonner, som vi ønsker at hente i resultatsættet efterfulgt af navnet på den tabel, som vi ønsker at hente dataene fra.





Dernæst bruger vi WHERE-sætningen til at introducere datafiltreringen baseret på en specifik kolonne. Til sidst angiver vi den betingelse, som vi ønsker at filtrere på.

Eksempel 1:

Lad os se på nogle eksempler på, hvordan vi kan bruge betingelsen IS NOT NULL til at filtrere resultaterne fra.



Overvej Sakila-eksempeldatabasen, som er tilgængelig gratis til download på den officielle MySQL-side.

Antag, at vi ønsker at hente navnet på kunder, hvis 'efternavn' ikke er lig med null. Vi kan bruge forespørgslen som vist i det følgende til at opnå dette:

Vælg
*
fra
kunde c
hvor
efternavn er ikke null;


I dette tilfælde returnerer forespørgslen alle rækker fra kundetabellen, hvor værdien af ​​kolonnen 'efternavn' ikke er null.

Eksempel 2: OG- og ELLER-operatører

Vi kan kombinere IS NOT NULL-betingelsen med andre betingelser ved at bruge AND- og OR-operatorerne. Dette skaber en mere granulær filtrering.

Antag for eksempel, at vi ønsker at hente de kunder, hvis 'efternavn' ikke er null, og hvis fornavn er Nancy eller Holly.

Vi kan bruge en forespørgsel som vist i følgende:

VÆLG
Kunde ID,
fornavn,
efternavn,
e-mail
FRA
kunde
HVOR
efternavn ER IKKE NULL
OG ( fornavn = 'Nancy'
ELLER fornavn = 'Holly' ) ;


I denne forespørgsel kombinerer vi IS NOT NULL-betingelsen med AND- og OR-operatorerne for at bortfiltrere de poster, hvor efternavnet ikke er null, eller fornavnet er lig med enten Nancy eller Holly.

Det resulterende output er som følger:


Som du kan se, giver dette en måde at udføre en mere granulær og minimal filtrering på måldataene.

Eksempel 3: Brug af aggregerede funktioner

Vi kan også bruge funktionen IS NOT NULL i forbindelse med SQL-aggregatfunktionerne. For eksempel kan vi bruge det med funktionen count() til at tælle antallet af ikke-nullværdier i en given kolonne.

Antag for eksempel, at vi ønsker at bestemme antallet af kunder med ikke-nul e-mailadresser. Vi kan bruge forespørgslen som følger:

VÆLG
TÆLLE ( Kunde ID ) AS i alt
FRA
kunde
HVOR
e-mail ER IKKE NULL;


Dette skulle returnere antallet af ikke-nul-værdier i kolonnen som en numerisk værdi som følger:

Total |
-----+
599 |

Konklusion

I denne øvelse lærte vi alt om IS NOT NULL-betingelsen i SQL for at bortfiltrere null-værdierne fra et givet resultatsæt eller databasetabel. Vi lærte også, hvordan vi kan skabe en mere kompleks filtrering ved at kombinere IS NOT NULL-betingelsen med andre betingelser ved hjælp af AND- og OR-operatorerne.