Оператор SQL Case, когда значение равно NULL

Operator Sql Case Kogda Znacenie Ravno Null



Условное выполнение означает возможность выполнения блока кода только при выполнении определенного условия. Это широко распространенная операция в разработке. Например, наиболее распространенный способ добиться условного выполнения в SQL — использовать оператор CASE.

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







Этот учебник учит нас, как использовать оператор CASE, если заданное значение равно NULL.



Оператор случая SQL

Ниже показан синтаксис оператора CASE в SQL:



CASE-выражение
КОГДА значение_1, ТОГДА результат_1
КОГДА значение_2, ТОГДА результат_2
...
ИНАЧЕ default_result
КОНЕЦ


Рассмотрим следующий пример:





создать таблицу студентов (
идентификатор int auto_increment не нулевой первичный ключ,
имя varchar ( пятьдесят ) ,
science_score int не нуль,
math_score int не нуль,
history_score int не нуль,
другой int не нуль
) ;
ВСТАВЬТЕ В СТУДЕНТОВ ( имя, science_score, math_score, history_score, другое )
ЦЕННОСТИ
( 'Джон Доу' , 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,
история_оценка,
другой,
СЛУЧАЙ
КОГДА ( научная_оценка + математическая_оценка + история_оценка + другое ) / 4 > '=' 90 ЗАТЕМ «А»
КОГДА ( научная_оценка + математическая_оценка + история_оценка + другое ) / 4 > '=' 80 ЗАТЕМ 'Б'
КОГДА ( научная_оценка + математическая_оценка + история_оценка + другое ) / 4 > '=' 70 ЗАТЕМ 'С'
КОГДА ( научная_оценка + математическая_оценка + история_оценка + другое ) / 4 > '=' 60 ЗАТЕМ 'Д'
ЕЩЕ 'Ф'
КОНЕЦ КАК 'Оценка'
ОТ студентов;


Результирующий вывод:



Оператор SQL Case, когда значение равно NULL

Мы можем использовать оператор CASE для выполнения блока кода при работе с нулевыми значениями. Кроме того, мы можем использовать операторы IS NULL и IS NOT Null для оценки значений NULL и выполнения определенного действия на основе возвращаемого значения.

Рассмотрим следующий пример синтаксиса:

ВЫБИРАТЬ
СЛУЧАЙ
КОГДА имя_столбца равно NULL, ТОГДА «Значение равно нулю»
ЕЩЕ «Значение не равно нулю»
КОНЕЦ КАК РЕЗУЛЬТАТ
ОТ имя_таблицы;


В этом случае мы проверяем, является ли значение предоставленного column_name нулевым. Если это правда, мы возвращаем «Значение равно нулю». нить. В противном случае, если значение не равно нулю, мы возвращаем «Значение не равно нулю». нить.

Мы также используем ключевое слово AS в качестве псевдонима для строки результата.

Рассмотрим следующий пример таблицы:

ВСТАВЬТЕ В СТУДЕНТОВ ( имя, научная_оценка, математическая_оценка, история_оценка, другое, временная )
ЦЕННОСТИ
( 'Джон Доу' , 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.

выбирать имя, темп,
СЛУЧАЙ
КОГДА temp равен NULL, ТОГДА «Значение равно нулю»
ЕЩЕ «Значение не равно нулю»
КОНЕЦ КАК РЕЗУЛЬТАТ
СО студентов s ;


Выход:

Заключение

Мы узнали, как работать с оператором SQL CASE, чтобы оценить конкретное условие и выполнить требуемую задачу на основе полученного значения.