SQL Case-instructie wanneer de waarde null is

Sql Case Instructie Wanneer De Waarde Null Is



Voorwaardelijke uitvoering verwijst naar de mogelijkheid om een ​​codeblok alleen uit te voeren als aan een specifieke voorwaarde is voldaan. Het is een wijdverbreide operatie in ontwikkeling. De meest gebruikelijke manier om een ​​voorwaardelijke uitvoering in SQL te bereiken, is bijvoorbeeld het gebruik van de CASE-instructie.

Met de CASE-instructie kunnen we de voorwaardelijke logica uitvoeren door de waarde van een of meer kolommen in een tabel te controleren en vervolgens een specifiek codeblok uit te voeren op basis van het resultaat van die controle.







Deze tutorial leert ons hoe we de CASE-instructie moeten gebruiken als een bepaalde waarde NULL is.



SQL Case-verklaring

Het volgende toont de syntaxis van de CASE-instructie in SQL:



CASE-expressie
WANNEER waarde_1 DAN resultaat_1
WANNEER waarde_2 DAN resultaat_2
...
ELSE standaard_resultaat
EINDE


Beschouw het volgende voorbeeld:





tafelstudenten maken (
ID kaart int auto_increment niet null primaire sleutel,
naam varchar ( vijftig ) ,
science_score int niet null,
math_score int niet null,
history_score int niet null,
andere int niet null
) ;
INSERT INTO studenten ( name, science_score, math_score, history_score, andere )
WAARDEN
( '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 Bruin' , 85 , 80 , 90 , 88 ) ,
( 'Lisa Kim' , 90 , 85 , 87 , 92 ) ,
( 'Mark Davis' , 72 , 68 , 75 , 80 ) ,
( 'Ava Lee' , 90 , 95 , 92 , 88 ) ;


We kunnen bijvoorbeeld de CASE-instructie gebruiken om de verschillende opties te evalueren en een specifieke actie te retourneren, zoals wordt aangetoond in het volgende voorbeeld:

SELECTEER
naam,
wetenschap_score,
wiskunde_score,
geschiedenis_score,
ander,
GEVAL
WANNEER ( wetenschappelijke_score + wiskundige_score + geschiedenis_score + andere ) / 4 > = 90 DAN 'A'
WANNEER ( wetenschappelijke_score + wiskundige_score + geschiedenis_score + andere ) / 4 > = 80 DAN 'B'
WANNEER ( wetenschappelijke_score + wiskundige_score + geschiedenis_score + andere ) / 4 > = 70 DAN 'C'
WANNEER ( wetenschappelijke_score + wiskundige_score + geschiedenis_score + andere ) / 4 > = 60 DAN 'D'
ANDERS 'F'
EINDE ALS 'Cijfer'
VAN studenten;


resulterende uitvoer:



SQL Case-instructie wanneer de waarde null is

We kunnen de CASE-instructie gebruiken om een ​​codeblok uit te voeren wanneer het om null-waarden gaat. Daarnaast kunnen we de operatoren IS NULL en IS NOT Null gebruiken om NULL-waarden te evalueren en een specifieke actie uit te voeren op basis van de geretourneerde waarde.

Beschouw het volgende voorbeeld van syntaxis:

SELECTEER
GEVAL
WANNEER kolom_naam NUL IS DAN 'Waarde is nul'
ANDERS 'Waarde is niet nul'
EINDE ALS resultaat
VAN tafelnaam;


In dit geval controleren we of de waarde van de opgegeven kolomnaam null is. Als dit waar is, geven we de waarde 'Waarde is null' terug. snaar. Anders, als de waarde niet null is, retourneren we de waarde 'Waarde is niet null'. snaar.

We gebruiken ook het AS-sleutelwoord als alias voor de resultaatreeks.

Beschouw de volgende voorbeeldtabel:

INSERT INTO studenten ( name, science_score, math_score, history_score, other, temp )
WAARDEN
( '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 Bruin' , 85 , 80 , 90 , 88 , 'nul' ) ,
( 'Lisa Kim' , 90 , 85 , 87 , 92 , '' ) ,
( 'Mark Davis' , 72 , 68 , 75 , 80 , nul ) ,
( 'Ava Lee' , 90 , 95 , 92 , 88 , 'A' ) ;


We kunnen dan een specifiek bericht afdrukken voor null-waarden met behulp van de CASE-instructie.

selecteren naam, uitzendkracht,
GEVAL
WANNEER temp IS NUL DAN 'Waarde is nul'
ANDERS 'Waarde is niet nul'
EINDE ALS resultaat
VAN studenten;


Uitgang:

Conclusie

We hebben geleerd hoe we met de SQL CASE-instructie moeten werken om een ​​specifieke voorwaarde te evalueren en een vereiste taak uit te voeren op basis van de resulterende waarde.