SQL-sagsudsagn, når værdien er nul

Sql Sagsudsagn Nar Vaerdien Er Nul



Betinget udførelse refererer til evnen til kun at udføre en kodeblok, hvis en specifik betingelse er opfyldt. Det er en udbredt operation i udvikling. For eksempel er den mest almindelige måde at opnå en betinget udførelse i SQL ved at bruge CASE-sætningen.

CASE-sætningen giver os mulighed for at udføre den betingede logik ved at kontrollere værdien af ​​en eller flere kolonner i en tabel og derefter udføre en specifik kodeblok baseret på resultatet af denne kontrol.







Denne vejledning lærer os, hvordan man bruger CASE-sætningen, hvis en given værdi er NULL.



SQL-sagserklæring

Det følgende viser syntaksen for CASE-sætningen i SQL:



CASE udtryk
NÅR værdi_1 SÅ resultat_1
NÅR værdi_2 SÅ resultat_2
...
ELSE default_result
ENDE


Overvej følgende eksempel:





skabe bordelever (
id int auto_increment ikke null primærnøgle,
navn varchar ( halvtreds ) ,
science_score int ikke null,
math_score int ikke null,
historie_score int ikke null,
anden int ikke null
) ;
INDSÆT I eleverne ( navn, science_score, math_score, historie_score, andet )
VÆRDIER
( '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 bruge CASE-sætningen til at evaluere de forskellige muligheder og returnere en specifik handling som vist i følgende eksempel:

VÆLG
navn,
science_score,
matematik_score,
historie_score,
Andet,
SAG
HVORNÅR ( science_score + math_score + history_score + andet ) / 4 > = 90 DEREFTER 'EN'
HVORNÅR ( science_score + math_score + history_score + andet ) / 4 > = 80 DEREFTER 'B'
HVORNÅR ( science_score + math_score + history_score + andet ) / 4 > = 70 DEREFTER 'C'
HVORNÅR ( science_score + math_score + history_score + andet ) / 4 > = 60 DEREFTER 'D'
ANDET 'F'
SLUT SOM 'Karakter'
FRA studerende;


Resulterende output:



SQL-sagsudsagn, når værdien er nul

Vi kan bruge CASE-sætningen til at udføre en kodeblok, når vi har at gøre med null-værdier. Derudover kan vi bruge operatorerne IS NULL og IS NOT Null til at evaluere for NULL-værdier og udføre en specifik handling baseret på den returnerede værdi.

Overvej følgende eksempel på syntaks:

VÆLG
SAG
NÅR kolonnenavn SÅ ER NULL 'Værdien er null'
ANDET 'Værdien er ikke null'
SLUT SOM resultat
FRA tabelnavn;


I dette tilfælde kontrollerer vi, om værdien af ​​det angivne kolonnenavn er null. Hvis det er sandt, returnerer vi 'Værdien er nul.' snor. Ellers, hvis værdien ikke er null, returnerer vi 'Værdien er ikke null.' snor.

Vi bruger også søgeordet AS som et alias for resultatstrengen.

Overvej følgende eksempeltabel:

INDSÆT I eleverne ( navn, videnskab_score, matematik_score, historie_score, andet, temp )
VÆRDIER
( 'John Doe' , 80 , 70 , 90 , 85 , nul ) ,
( 'Jane Smith' , 95 , 85 , 80 , 92 , nul ) ,
( 'Tom Wilson' , 70 , 75 , 85 , 80 , 't' ) ,
( 'Sara Lee' , 88 , 92 , 90 , 85 , 's' ) ,
( 'Mike Johnson' , 75 , 80 , 72 , 68 , nul ) ,
( 'Emily Chen' , 92 , 88 , 90 , 95 , nul ) ,
( 'Chris Brown' , 85 , 80 , 90 , 88 , 'nul' ) ,
( 'Lisa Kim' , 90 , 85 , 87 , 92 , '' ) ,
( 'Mark Davis' , 72 , 68 , 75 , 80 , nul ) ,
( 'Ava Lee' , 90 , 95 , 92 , 88 , 'en' ) ;


Vi kan derefter udskrive en specifik besked for null-værdier ved hjælp af CASE-sætningen.

Vælg navn, temp,
SAG
NÅR tempen ER NULL SÅ 'Værdien er null'
ANDET 'Værdien er ikke null'
SLUT SOM resultat
FRA studerende s ;


Produktion:

Konklusion

Vi lærte, hvordan man arbejder med SQL CASE-sætningen for at evaluere en specifik tilstand og udføre en påkrævet opgave baseret på den resulterende værdi.