SQL Case Statement când valoarea este nulă

Sql Case Statement Cand Valoarea Este Nula



Execuția condiționată se referă la capacitatea de a executa un bloc de cod numai dacă este îndeplinită o anumită condiție. Este o operațiune larg răspândită în dezvoltare. De exemplu, cel mai comun mod de a realiza o execuție condiționată în SQL este utilizarea instrucțiunii CASE.

Instrucțiunea CASE ne permite să realizăm logica condiționată verificând valoarea uneia sau mai multor coloane dintr-un tabel și apoi executând un anumit bloc de cod pe baza rezultatului acelei verificări.







Acest tutorial ne învață cum să folosim instrucțiunea CASE dacă o anumită valoare este NULL.



Declarație de caz SQL

Următoarele arată sintaxa instrucțiunii CASE în SQL:



expresie CASE
WHEN valoare_1 THEN rezultat_1
CÂND valoarea_2 THEN rezultat_2
...
ELSE implicit_rezultat
Sfârşit


Luați în considerare următorul exemplu:





creează elevi de masă (
id int auto_increment nu cheia primară nulă,
nume varchar ( cincizeci ) ,
science_score int nu nul,
math_score int nu nul,
history_score int nu nul,
alt int nu nul
) ;
INSERT INTO studenți ( nume, scor_știință, scor_matematică, scor_istorie, altele )
VALORI
( „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 ) ;


De exemplu, putem folosi instrucțiunea CASE pentru a evalua diferitele opțiuni și a returna o acțiune specifică, așa cum este demonstrat în exemplul următor:

SELECTAȚI
Nume,
scor_știință,
scor_matematic,
history_score,
alte,
CAZ
CÂND ( scor_știință + scor_matematică + scor_istorie + altul ) / 4 > = 90 APOI 'A'
CÂND ( scor_știință + scor_matematică + scor_istorie + altul ) / 4 > = 80 APOI „B”
CÂND ( scor_știință + scor_matematică + scor_istorie + altul ) / 4 > = 70 APOI „C”
CÂND ( scor_știință + scor_matematică + scor_istorie + altul ) / 4 > = 60 APOI „D”
ALTE 'F'
SFÂRȘIT AS „Notă”
DE LA elevi;


Ieșire rezultată:



SQL Case Statement când valoarea este nulă

Putem folosi instrucțiunea CASE pentru a executa un bloc de cod atunci când avem de-a face cu valori nule. În plus, putem folosi operatorii IS NULL și IS NOT Null pentru a evalua valorile NULL și a efectua o acțiune specifică pe baza valorii returnate.

Luați în considerare următorul exemplu de sintaxă:

SELECTAȚI
CAZ
WHEN column_name ESTE NULL THEN „Valoarea este nulă”
ALTE „Valoarea nu este nulă”
TERMINĂ CA rezultat
FROM table_name;


În acest caz, verificăm dacă valoarea numelui_coloanei furnizate este nulă. Dacă este adevărat, returnăm „Valoarea este nulă”. şir. În caz contrar, dacă valoarea nu este nulă, returnăm „Valoarea nu este nulă”. şir.

De asemenea, folosim cuvântul cheie AS ca alias pentru șirul rezultat.

Luați în considerare următorul exemplu de tabel:

INSERT INTO studenți ( nume, scor_știință, scor_matematică, scor_istorie, alt, temp )
VALORI
( „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 , 'A' ) ;


Putem imprima apoi un mesaj specific pentru valorile nule folosind instrucțiunea CASE.

Selectați nume, temperatură,
CAZ
CÂND temp este nulă atunci „Valoarea este nulă”
ALTE „Valoarea nu este nulă”
TERMINARE CA rezultat
DE LA elevi ;


Ieșire:

Concluzie

Am învățat cum să lucrăm cu instrucțiunea SQL CASE pentru a evalua o anumită condiție și a efectua o sarcină necesară pe baza valorii rezultate.