SQL-tapauslausunto, kun arvo on nolla

Sql Tapauslausunto Kun Arvo On Nolla



Ehdollinen suoritus tarkoittaa kykyä suorittaa koodilohko vain, jos tietty ehto täyttyy. Se on laajalle levinnyt kehitystoiminta. Esimerkiksi yleisin tapa saavuttaa ehdollinen suoritus SQL:ssä on käyttää CASE-käskyä.

CASE-käskyn avulla voimme suorittaa ehdollisen logiikan tarkistamalla yhden tai useamman taulukon sarakkeen arvon ja suorittamalla sitten tietyn koodilohkon kyseisen tarkistuksen tuloksen perusteella.







Tämä opetusohjelma opettaa meille, kuinka CASE-käskyä käytetään, jos annettu arvo on NULL.



SQL-tapauslausunto

Seuraavassa näkyy CASE-käskyn syntaksi SQL:ssä:



CASE-lauseke
WHEN arvo_1 THEN tulos_1
WHEN arvo_2 THEN tulos_2
...
MUU oletustulos
LOPPU


Harkitse seuraavaa esimerkkiä:





luo pöytäopiskelijoita (
id int auto_increment ei null ensisijainen avain,
nimi varchar ( viisikymmentä ) ,
science_score int not null,
math_score int ei null,
history_score int not null,
muu int ei tyhjä
) ;
INSERT INTO opiskelijoille ( nimi, tieteen_pisteet, matematiikan_pisteet, historian_pisteet, muut )
ARVOT
( '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 ) ;


Voimme esimerkiksi käyttää CASE-käskyä eri vaihtoehtojen arvioimiseen ja tietyn toiminnon palauttamiseen seuraavan esimerkin mukaisesti:

VALITSE
nimi,
science_score,
math_score,
history_score,
muu,
CASE
KUN ( tieteen_pisteet + matematiikan_pisteet + historian_pisteet + muu ) / 4 > = 90 SITTEN 'A'
KUN ( tieteen_pisteet + matematiikan_pisteet + historian_pisteet + muu ) / 4 > = 80 SITTEN 'B'
KUN ( tieteen_pisteet + matematiikan_pisteet + historian_pisteet + muu ) / 4 > = 70 SITTEN 'C'
KUN ( tieteen_pisteet + matematiikan_pisteet + historian_pisteet + muu ) / 4 > = 60 SITTEN 'D'
MUU 'F'
LOPETA AS 'Arvosana'
opiskelijoilta;


Tuloksena oleva tulos:



SQL-tapauslausunto, kun arvo on nolla

Voimme käyttää CASE-käskyä koodilohkon suorittamiseen käsiteltäessä nolla-arvoja. Lisäksi voimme käyttää IS NULL- ja IS NOT Null -operaattoreita arvioidaksemme NULL-arvoja ja suorittaaksemme tietyn toiminnon palautetun arvon perusteella.

Harkitse seuraavaa syntaksiesimerkkiä:

VALITSE
CASE
WHEN sarakkeen_nimi ON NULL SIIN 'Arvo on tyhjä'
MUU 'Arvo ei ole tyhjä'
LOPPU tuloksena
FROM taulukon_nimi;


Tässä tapauksessa tarkistamme, onko annetun sarakkeen_nimi arvo tyhjä. Jos totta, palautamme 'Arvo on tyhjä'. merkkijono. Muussa tapauksessa, jos arvo ei ole nolla, palautamme 'Arvo ei ole tyhjä'. merkkijono.

Käytämme myös AS-avainsanaa aliaksena tulosmerkkijonolle.

Harkitse seuraavaa esimerkkitaulukkoa:

INSERT INTO opiskelijoille ( nimi, tieteen_pisteet, matematiikan_pisteet, historian_pisteet, muu, temp )
ARVOT
( 'John Doe' , 80 , 70 , 90 , 85 , tyhjä ) ,
( 'Jane Smith' , 95 , 85 , 80 , 92 , tyhjä ) ,
( 'Tom Wilson' , 70 , 75 , 85 , 80 , 't' ) ,
( 'Sara Lee' , 88 , 92 , 90 , 85 , 's' ) ,
( 'Mike Johnson' , 75 , 80 , 72 , 68 , tyhjä ) ,
( 'Emily Chen' , 92 , 88 , 90 , 95 , tyhjä ) ,
( 'Chris Brown' , 85 , 80 , 90 , 88 , 'tyhjä' ) ,
( 'Lisa Kim' , 90 , 85 , 87 , 92 , '' ) ,
( 'Mark Davis' , 72 , 68 , 75 , 80 , tyhjä ) ,
( 'Ava Lee' , 90 , 95 , 92 , 88 , 'a' ) ;


Voimme sitten tulostaa tietyn viestin nolla-arvoille käyttämällä CASE-käskyä.

valitse nimi, lämpötila,
CASE
KUN lämpötila ON NOLLA NIIN 'Arvo on tyhjä'
MUU 'Arvo ei ole tyhjä'
LOPPU tuloksena
opiskelijoilta s ;


Lähtö:

Johtopäätös

Opimme työskentelemään SQL CASE -käskyn kanssa tietyn ehdon arvioimiseksi ja vaaditun tehtävän suorittamiseksi tuloksena olevan arvon perusteella.