Declaración de caso de SQL cuando el valor es nulo

Declaracion De Caso De Sql Cuando El Valor Es Nulo



La ejecución condicional se refiere a la capacidad de ejecutar un bloque de código solo si se cumple una condición específica. Es una operación generalizada en desarrollo. Por ejemplo, la forma más común de lograr una ejecución condicional en SQL es mediante la instrucción CASE.

La declaración CASE nos permite realizar la lógica condicional al verificar el valor de una o más columnas en una tabla y luego ejecutar un bloque específico de código basado en el resultado de esa verificación.







Este tutorial nos enseña cómo usar la declaración CASE si un valor dado es NULL.



Declaración de caso de SQL

A continuación se muestra la sintaxis de la instrucción CASE en SQL:



expresión CASO
CUANDO valor_1 ENTONCES resultado_1
CUANDO valor_2 ENTONCES resultado_2
   ...
ELSE predeterminado_resultado
FIN

 
Considere el siguiente ejemplo:





crear mesa estudiantes (
identificación int auto_increment clave primaria no nula,
nombre varchar ( 50 ) ,
science_score int no nulo,
math_score int no nulo,
history_score int no nulo,
otro int no nulo
) ;
INSERTAR EN estudiantes ( nombre, Science_score, Math_score, history_score, otro )
VALORES
( 'Juan Doe' , 80 , 70 , 90 , 85 ) ,
( 'Jane Smith' , 95 , 85 , 80 , 92 ) ,
( 'TomWilson' , 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 ) ,
( 'Marca Davis' , 72 , 68 , 75 , 80 ) ,
( 'Ava Lee' , 90 , 95 , 92 , 88 ) ;

 
Por ejemplo, podemos usar la declaración CASE para evaluar las diversas opciones y devolver una acción específica como se demuestra en el siguiente ejemplo:

SELECCIONAR
nombre,
ciencia_puntuación,
puntuación_matemáticas,
historia_puntuación,
otro,
CASO
CUANDO ( puntuación_de_ciencias + puntuación_de_matemáticas + puntuación_de_historia + otros ) / 4 > = 90 ENTONCES 'A'
CUANDO ( puntuación_de_ciencias + puntuación_de_matemáticas + puntuación_de_historia + otros ) / 4 > = 80 ENTONCES 'B'
CUANDO ( puntuación_de_ciencias + puntuación_de_matemáticas + puntuación_de_historia + otros ) / 4 > = 70 ENTONCES 'C'
CUANDO ( puntuación_de_ciencias + puntuación_de_matemáticas + puntuación_de_historia + otros ) / 4 > = 60 ENTONCES 'D'
DEMÁS 'F'
TERMINAR COMO 'Calificación'
DE estudiantes;

 
Salida resultante:



Declaración de caso de SQL cuando el valor es nulo

Podemos usar la declaración CASE para ejecutar un bloque de código cuando se trata de valores nulos. Además, podemos usar los operadores IS NULL y IS NOT Null para evaluar valores NULL y realizar una acción específica basada en el valor devuelto.

Considere el siguiente ejemplo de sintaxis:

SELECCIONAR
CASO
CUANDO column_name ES NULO ENTONCES 'Valor es nulo'
DEMÁS 'Valor no es nulo'
TERMINAR COMO resultado
DESDE table_name;

 
En este caso, verificamos si el valor de column_name proporcionado es nulo. Si es verdadero, devolvemos el 'Valor es nulo'. cadena. De lo contrario, si el valor no es nulo, devolvemos el 'Valor no es nulo'. cadena.

También usamos la palabra clave AS como un alias para la cadena de resultados.

Considere la siguiente tabla de ejemplo:

INSERTAR EN estudiantes ( nombre, Science_score, Math_score, history_score, otro, temperatura )
VALORES
( 'Juan Doe' , 80 , 70 , 90 , 85 , nulo ) ,
( 'Jane Smith' , 95 , 85 , 80 , 92 , nulo ) ,
( 'TomWilson' , 70 , 75 , 85 , 80 , 't' ) ,
( Sara Lee , 88 , 92 , 90 , 85 , 's' ) ,
( 'Mike Johnson' , 75 , 80 , 72 , 68 , nulo ) ,
( 'Emily Chen' , 92 , 88 , 90 , 95 , nulo ) ,
( 'Chris Brown' , 85 , 80 , 90 , 88 , 'nulo' ) ,
( 'Lisa Kim' , 90 , 85 , 87 , 92 , '' ) ,
( 'Marca Davis' , 72 , 68 , 75 , 80 , nulo ) ,
( 'Ava Lee' , 90 , 95 , 92 , 88 , 'a' ) ;

 
Luego podemos imprimir un mensaje específico para valores nulos usando la instrucción CASE.

seleccionar nombre, temperatura,
CASO
CUANDO la temperatura ES NULA ENTONCES 'Valor es nulo'
DEMÁS 'Valor no es nulo'
TERMINAR COMO resultado
DE estudiantes s ;

 
Producción:

Conclusión

Aprendimos a trabajar con la declaración SQL CASE para evaluar una condición específica y realizar una tarea requerida en función del valor resultante.