SQL atvejo pareiškimas, kai reikšmė yra nulinė

Sql Atvejo Pareiskimas Kai Reiksme Yra Nuline



Sąlyginis vykdymas reiškia galimybę vykdyti kodo bloką tik tada, kai įvykdoma tam tikra sąlyga. Tai plačiai paplitusi plėtra. Pavyzdžiui, labiausiai paplitęs būdas sąlyginiam vykdymui SQL pasiekti yra CASE teiginio naudojimas.

CASE sakinys leidžia mums atlikti sąlyginę logiką, patikrinant vieno ar kelių lentelės stulpelių reikšmę ir pagal to patikrinimo rezultatą vykdant konkretų kodo bloką.







Ši pamoka moko mus, kaip naudoti CASE teiginį, jei nurodyta reikšmė yra NULL.



SQL atvejo pareiškimas

Toliau parodyta CASE sakinio sintaksė SQL:



CASE išraiška
WHEN reikšmė_1 THEN rezultatas_1
WHEN reikšmė_2 THEN rezultatas_2
...
ELSE numatytasis_rezultatas
GALAS


Apsvarstykite šį pavyzdį:





sukurti stalo mokinius (
id int auto_increment, o ne nulis pirminis raktas,
vardas varchar ( penkiasdešimt ) ,
science_score int not null,
math_score int not null,
history_score int not null,
kita int ne nulinė
) ;
INSERT INTO studentai ( vardas, mokslo_balas, matematikos_balas, istorijos_balas, kita )
VERTYBĖS
( 'John Doe' , 80 , 70 , 90 , 85 ) ,
( 'Jane Smith' , 95 , 85 , 80 , 92 ) ,
( 'Tomas Wilsonas' , 70 , 75 , 85 , 80 ) ,
( 'Sara Lee' , 88 , 92 , 90 , 85 ) ,
( 'Mike'as Johnsonas' , 75 , 80 , 72 , 68 ) ,
( 'Emily Chen' , 92 , 88 , 90 , 95 ) ,
( 'Krisas Braunas' , 85 , 80 , 90 , 88 ) ,
( 'Lisa Kim' , 90 , 85 , 87 , 92 ) ,
( 'Mark Davis' , 72 , 68 , 75 , 80 ) ,
( 'Ava Lee' , 90 , 95 , 92 , 88 ) ;


Pavyzdžiui, galime naudoti teiginį CASE, kad įvertintume įvairias parinktis ir pateiktume konkretų veiksmą, kaip parodyta šiame pavyzdyje:

PASIRINKTI
vardas,
science_score,
math_score,
history_score,
kita,
CASE
KADA ( mokslo_balas + matematikos_balas + istorijos_balas + kita ) / 4 > = 90 TADA 'A'
KADA ( mokslo_balas + matematikos_balas + istorijos_balas + kita ) / 4 > = 80 TADA 'B'
KADA ( mokslo_balas + matematikos_balas + istorijos_balas + kita ) / 4 > = 70 TADA 'C'
KADA ( mokslo_balas + matematikos_balas + istorijos_balas + kita ) / 4 > = 60 TADA 'D'
KITAS 'F'
END AS 'pažymys'
IŠ studentų;


Rezultatas:



SQL atvejo pareiškimas, kai reikšmė yra nulinė

Mes galime naudoti CASE teiginį, kad vykdytume kodo bloką, kai dirbame su nulinėmis reikšmėmis. Be to, galime naudoti operatorius IS NULL ir IS NOT Null, kad įvertintume NULL reikšmes ir atliktume konkretų veiksmą pagal grąžintą reikšmę.

Apsvarstykite šį sintaksės pavyzdį:

PASIRINKTI
CASE
KAI stulpelio_pavadinimas yra NULIS, tada „Vertė yra nulinė“
KITAS „Vertė nėra nulinė“
END AS rezultatas
FROM lentelės_pavadinimas;


Tokiu atveju patikriname, ar pateikto stulpelio_pavadinimo reikšmė yra nulinė. Jei tiesa, grąžiname „Vertė yra nulinė“. styga. Kitu atveju, jei reikšmė nėra nulinė, grąžiname „Vertė nėra nulinė“. styga.

Mes taip pat naudojame AS raktinį žodį kaip rezultatų eilutės slapyvardį.

Apsvarstykite toliau pateiktą lentelę:

INSERT INTO studentai ( pavadinimas, mokslo_balas, matematikos_balas, istorijos_balas, kita, temp )
VERTYBĖS
( 'John Doe' , 80 , 70 , 90 , 85 , null ) ,
( 'Jane Smith' , 95 , 85 , 80 , 92 , null ) ,
( 'Tomas Wilsonas' , 70 , 75 , 85 , 80 , 't' ) ,
( 'Sara Lee' , 88 , 92 , 90 , 85 , 's' ) ,
( 'Mike'as Johnsonas' , 75 , 80 , 72 , 68 , null ) ,
( 'Emily Chen' , 92 , 88 , 90 , 95 , null ) ,
( 'Krisas Braunas' , 85 , 80 , 90 , 88 , 'nulis' ) ,
( 'Lisa Kim' , 90 , 85 , 87 , 92 , '' ) ,
( 'Mark Davis' , 72 , 68 , 75 , 80 , null ) ,
( 'Ava Lee' , 90 , 95 , 92 , 88 , 'a' ) ;


Tada galime atspausdinti konkretų pranešimą nulinėms reikšmėms naudodami CASE teiginį.

pasirinkite vardas, temp,
CASE
KAI temp. NULL TADA „Vertė yra nulinė“
KITAS „Vertė nėra nulinė“
END AS rezultatas
IŠ studentų s ;


Išvestis:

Išvada

Sužinojome, kaip dirbti su SQL CASE sakiniu, kad įvertintume konkrečią sąlygą ir atliktume reikiamą užduotį pagal gautą reikšmę.