SQL Case оператор, когато стойността е нула

Sql Case Operator Kogato Stojnostta E Nula



Условното изпълнение се отнася до способността да се изпълни блок от код само ако е изпълнено конкретно условие. Това е широко разпространена операция в разработката. Например, най-честият начин за постигане на условно изпълнение в SQL е използването на израза CASE.

Операторът CASE ни позволява да изпълним условната логика, като проверим стойността на една или повече колони в таблица и след това изпълним конкретен блок код въз основа на резултата от тази проверка.







Този урок ни учи как да използваме оператора CASE, ако дадена стойност е NULL.



SQL Case Statement

Следното показва синтаксиса на израза CASE в SQL:



CASE израз
WHEN стойност_1 THEN резултат_1
WHEN стойност_2 THEN резултат_2
...
ИНАЧЕ резултат_по подразбиране
КРАЙ


Разгледайте следния пример:





създаване на таблица ученици (
документ за самоличност int auto_increment not null първичен ключ,
име varchar ( петдесет ) ,
science_score int not null,
math_score int не е нула,
history_score int not null,
other int не е нула
) ;
INSERT INTO ученици ( име, научен_резултат, математически_резултат, исторически_резултат, други )
СТОЙНОСТИ
( 'Джон Доу' , 80 , 70 , 90 , 85 ) ,
( 'Джейн Смит' , 95 , 85 , 80 , 92 ) ,
( 'Том Уилсън' , 70 , 75 , 85 , 80 ) ,
( „Сара Лий“ , 88 , 92 , 90 , 85 ) ,
( 'Майк Джонсън' , 75 , 80 , 72 , 68 ) ,
( 'Емили Чен' , 92 , 88 , 90 , 95 ) ,
( 'Крис Браун' , 85 , 80 , 90 , 88 ) ,
( „Лиза Ким“ , 90 , 85 , 87 , 92 ) ,
( „Марк Дейвис“ , 72 , 68 , 75 , 80 ) ,
( 'Ава Лий' , 90 , 95 , 92 , 88 ) ;


Например, можем да използваме оператора CASE, за да оценим различните опции и да върнем конкретно действие, както е показано в следния пример:

ИЗБЕРЕТЕ
име,
научен_резултат,
math_score,
history_score,
друго,
СЛУЧАЙ
КОГА ( science_score + math_score + history_score + други ) / 4 > = 90 ТОГАВА 'А'
КОГА ( science_score + math_score + history_score + други ) / 4 > = 80 ТОГАВА 'Б'
КОГА ( science_score + math_score + history_score + други ) / 4 > = 70 ТОГАВА '° С'
КОГА ( science_score + math_score + history_score + други ) / 4 > = 60 ТОГАВА 'Д'
ДРУГО 'F'
КРАЙ КАТО 'клас'
ОТ студенти;


Резултатен резултат:



SQL Case оператор, когато стойността е нула

Можем да използваме израза CASE, за да изпълним кодов блок, когато работим с нулеви стойности. Освен това можем да използваме операторите IS NULL и IS NOT Null, за да оценим стойностите NULL и да извършим конкретно действие въз основа на върнатата стойност.

Разгледайте следния пример за синтаксис:

ИЗБЕРЕТЕ
СЛУЧАЙ
WHEN име_на_колона Е NULL ТОГАВА „Стойността е нула“
ДРУГО „Стойността не е нулева“
КРАЙ КАТО резултат
ОТ име_на_таблица;


В този случай проверяваме дали стойността на предоставеното име на колона е нула. Ако е вярно, връщаме „Стойността е нула“. низ. В противен случай, ако стойността не е нула, връщаме „Стойността не е нула“. низ.

Ние също така използваме ключовата дума AS като псевдоним за резултантния низ.

Разгледайте следната примерна таблица:

INSERT INTO ученици ( име, научен_резултат, математически_резултат, исторически_резултат, друго, темп )
СТОЙНОСТИ
( 'Джон Доу' , 80 , 70 , 90 , 85 , нула ) ,
( 'Джейн Смит' , 95 , 85 , 80 , 92 , нула ) ,
( 'Том Уилсън' , 70 , 75 , 85 , 80 , 'T' ) ,
( „Сара Лий“ , 88 , 92 , 90 , 85 , 'с' ) ,
( 'Майк Джонсън' , 75 , 80 , 72 , 68 , нула ) ,
( 'Емили Чен' , 92 , 88 , 90 , 95 , нула ) ,
( 'Крис Браун' , 85 , 80 , 90 , 88 , 'нула' ) ,
( „Лиза Ким“ , 90 , 85 , 87 , 92 , '' ) ,
( „Марк Дейвис“ , 72 , 68 , 75 , 80 , нула ) ,
( 'Ава Лий' , 90 , 95 , 92 , 88 , 'а' ) ;


След това можем да отпечатаме конкретно съобщение за нулеви стойности, като използваме оператора CASE.

изберете име, темп,
СЛУЧАЙ
КОГАТО температурата е НУЛЕВА ТОГАВА „Стойността е нула“
ДРУГО „Стойността не е нулева“
КРАЙ КАТО резултат
ОТ ученици s ;


Изход:

Заключение

Научихме как да работим с оператора SQL CASE, за да оценим конкретно условие и да изпълним необходима задача въз основа на получената стойност.