SQL-tilfelleutsagn når verdien er null

Sql Tilfelleutsagn Nar Verdien Er Null



Betinget kjøring refererer til muligheten til å utføre en kodeblokk bare hvis en bestemt betingelse er oppfylt. Det er en utbredt operasjon i utvikling. For eksempel er den vanligste måten å oppnå en betinget kjøring i SQL ved å bruke CASE-setningen.

CASE-setningen lar oss utføre den betingede logikken ved å sjekke verdien av én eller flere kolonner i en tabell og deretter utføre en spesifikk kodeblokk basert på resultatet av den sjekken.







Denne opplæringen lærer oss hvordan vi bruker CASE-setningen hvis en gitt verdi er NULL.



SQL-saksuttalelse

Følgende viser syntaksen til CASE-setningen i SQL:



CASE uttrykk
NÅR verdi_1 SÅ resultat_1
NÅR verdi_2 SÅ resultat_2
...
ELLES default_result
SLUTT


Tenk på følgende eksempel:





lage bordstudenter (
id int auto_increment ikke null primærnøkkel,
navn varchar ( femti ) ,
science_score int ikke null,
math_score int ikke null,
history_score int ikke null,
annen int ikke null
) ;
SETTE INN I studenter ( navn, vitenskapsscore, mattepoeng, historiescore, annet )
VERDIER
( 'John Doe' , 80 , 70 , 90 , 85 ) ,
( 'Jane Smith' , 95 , 85 , 80 , 92 ) ,
( 'Tom Wilson' , 70 , 75 , 85 , 80 ) ,
( 'Sara Lee' , 88 , 92 , 90 , 85 ) ,
( 'Mike Johnson' , 75 , 80 , 72 , 68 ) ,
( 'Emily Chen' , 92 , 88 , 90 , 95 ) ,
( 'Chris Brown' , 85 , 80 , 90 , 88 ) ,
( 'Lisa Kim' , 90 , 85 , 87 , 92 ) ,
( 'Mark Davis' , 72 , 68 , 75 , 80 ) ,
( 'Ava Lee' , 90 , 95 , 92 , 88 ) ;


For eksempel kan vi bruke CASE-setningen til å evaluere de ulike alternativene og returnere en spesifikk handling som vist i følgende eksempel:

PLUKKE UT
Navn,
science_score,
math_score,
historie_score,
annen,
SAK
NÅR ( science_score + math_score + history_score + annet ) / 4 > = 90 DERETTER 'EN'
NÅR ( science_score + math_score + history_score + annet ) / 4 > = 80 DERETTER 'B'
NÅR ( science_score + math_score + history_score + annet ) / 4 > = 70 DERETTER 'C'
NÅR ( science_score + math_score + history_score + annet ) / 4 > = 60 DERETTER 'D'
ELLERS 'F'
SLUTT SOM 'Karakter'
FRA studenter;


Resulterende utgang:



SQL-saksuttalelse når verdien er null

Vi kan bruke CASE-setningen til å utføre en kodeblokk når vi arbeider med nullverdier. I tillegg kan vi bruke IS NULL og IS NOT Null-operatorene til å evaluere for NULL-verdier og utføre en spesifikk handling basert på den returnerte verdien.

Tenk på følgende eksempel på syntaks:

PLUKKE UT
SAK
NÅR kolonnenavn ER NULL DA 'Verdien er null'
ELLERS 'Verdien er ikke null'
SLUTT SOM resultat
FRA tabellnavn;


I dette tilfellet sjekker vi om verdien til det angitte kolonnenavnet er null. Hvis det er sant, returnerer vi «Verdien er null». streng. Ellers, hvis verdien ikke er null, returnerer vi 'Verdien er ikke null.' streng.

Vi bruker også søkeordet AS som et alias for resultatstrengen.

Tenk på følgende eksempeltabell:

SETTE INN I studenter ( navn, vitenskapsscore, mattepoeng, historiescore, annet, temp )
VERDIER
( 'John Doe' , 80 , 70 , 90 , 85 , null ) ,
( 'Jane Smith' , 95 , 85 , 80 , 92 , null ) ,
( 'Tom Wilson' , 70 , 75 , 85 , 80 , 't' ) ,
( 'Sara Lee' , 88 , 92 , 90 , 85 , 's' ) ,
( 'Mike Johnson' , 75 , 80 , 72 , 68 , null ) ,
( 'Emily Chen' , 92 , 88 , 90 , 95 , null ) ,
( 'Chris Brown' , 85 , 80 , 90 , 88 , 'null' ) ,
( 'Lisa Kim' , 90 , 85 , 87 , 92 , '' ) ,
( 'Mark Davis' , 72 , 68 , 75 , 80 , null ) ,
( 'Ava Lee' , 90 , 95 , 92 , 88 , 'en' ) ;


Vi kan deretter skrive ut en spesifikk melding for nullverdier ved å bruke CASE-setningen.

plukke ut navn, temp,
SAK
NÅR tempen ER NULL DÅ 'Verdien er null'
ELLERS 'Verdien er ikke null'
SLUTT SOM resultat
FRA studenter s ;


Produksjon:

Konklusjon

Vi lærte hvordan vi arbeider med SQL CASE-setningen for å evaluere en spesifikk tilstand og utføre en nødvendig oppgave basert på den resulterende verdien.