SQL esetutasítás, ha az érték nulla

Sql Esetutasitas Ha Az Ertek Nulla



A feltételes végrehajtás arra a képességre utal, hogy egy kódblokkot csak akkor lehet végrehajtani, ha egy adott feltétel teljesül. Ez egy széles körben elterjedt művelet a fejlesztésben. Például az SQL-ben a feltételes végrehajtás legáltalánosabb módja a CASE utasítás használata.

A CASE utasítás lehetővé teszi számunkra, hogy a feltételes logikát úgy hajtsuk végre, hogy ellenőrizzük egy vagy több oszlop értékét egy táblában, majd az ellenőrzés eredménye alapján végrehajtunk egy adott kódblokkot.







Ez az oktatóanyag megtanítja nekünk a CASE utasítás használatát, ha egy adott érték NULL.



SQL eset nyilatkozat

Az alábbiakban látható a CASE utasítás szintaxisa SQL-ben:



CASE kifejezés
WHEN érték_1 THEN eredmény_1
WHEN érték_2 THEN eredmény_2
...
ELSE alapértelmezett_eredmény
VÉGE


Tekintsük a következő példát:





asztali tanulók létrehozása (
id int auto_increment nem null elsődleges kulcs,
név varchar ( ötven ) ,
science_score int nem null,
math_score int nem null,
history_score int nem null,
egyéb int nem null
) ;
INSERT INTO tanulók ( név, tudomány_pontszám, matematikai_pontszám, történelem_pontszám, egyéb )
ÉRTÉKEK
( 'Gipsz Jakab' , 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 ) ;


Használhatjuk például a CASE utasítást a különböző opciók kiértékelésére és egy adott művelet visszaadására, amint az a következő példában látható:

KIVÁLASZTÁS
név,
science_score,
math_score,
history_score,
Egyéb,
ÜGY
AMIKOR ( tudomány_eredmény + matematikai_pontszám + történelem_pontszám + egyéb ) / 4 > = 90 AKKOR 'A'
AMIKOR ( tudomány_eredmény + matematikai_pontszám + történelem_pontszám + egyéb ) / 4 > = 80 AKKOR 'B'
AMIKOR ( tudomány_eredmény + matematikai_pontszám + történelem_pontszám + egyéb ) / 4 > = 70 AKKOR 'C'
AMIKOR ( tudomány_eredmény + matematikai_pontszám + történelem_pontszám + egyéb ) / 4 > = 60 AKKOR 'D'
MÁS 'F'
VÉGE AS 'Fokozat'
Diákoktól;


Eredmény:



SQL esetutasítás, ha az érték nulla

A CASE utasítást használhatjuk kódblokk végrehajtására, amikor null értékekkel foglalkozunk. Ezenkívül az IS NULL és IS NOT Null operátorok segítségével kiértékelhetjük a NULL értékeket, és végrehajthatunk egy adott műveletet a visszaadott érték alapján.

Tekintsük a következő szintaxis példát:

KIVÁLASZTÁS
ÜGY
WHEN oszlop_neve NULL, THEN 'Az érték nulla'
MÁS 'Az érték nem nulla'
END eredményként
FROM tábla_neve;


Ebben az esetben ellenőrizzük, hogy a megadott oszlopnév értéke null-e. Ha igaz, akkor az „Érték nulla” értéket adjuk vissza. húr. Ellenkező esetben, ha az érték nem null, akkor az „Érték nem nulla” értéket adjuk vissza. húr.

Az AS kulcsszót álnévként is használjuk az eredmény karakterlánchoz.

Tekintsük a következő példa táblázatot:

INSERT INTO tanulók ( név, tudomány_pontszám, matematikai_pontszám, történelem_pontszám, egyéb, temp )
ÉRTÉKEK
( 'Gipsz Jakab' , 80 , 70 , 90 , 85 , nulla ) ,
( 'Jane Smith' , 95 , 85 , 80 , 92 , nulla ) ,
( 'Tom Wilson' , 70 , 75 , 85 , 80 , 't' ) ,
( 'Sara Lee' , 88 , 92 , 90 , 85 , 's' ) ,
( 'Mike Johnson' , 75 , 80 , 72 , 68 , nulla ) ,
( 'Emily Chen' , 92 , 88 , 90 , 95 , nulla ) ,
( 'Chris Brown' , 85 , 80 , 90 , 88 , 'nulla' ) ,
( 'Lisa Kim' , 90 , 85 , 87 , 92 , '' ) ,
( 'Mark Davis' , 72 , 68 , 75 , 80 , nulla ) ,
( 'Ava Lee' , 90 , 95 , 92 , 88 , 'a' ) ;


Ezután a CASE utasítás használatával kinyomtathatunk egy konkrét üzenetet a null értékekhez.

válassza ki név, hőmérséklet,
ÜGY
AMIKOR a hőmérséklet NULL, AKKOR 'Az érték nulla'
MÁS 'Az érték nem nulla'
END eredményként
A tanulóktól s ;


Kimenet:

Következtetés

Megtanultuk, hogyan kell az SQL CASE utasítással dolgozni egy adott feltétel kiértékeléséhez és a kapott érték alapján a szükséges feladat végrehajtásához.