La declaración CASE en MySQL

Preet Sanghavi 20 enero 2022
La declaración CASE en MySQL

En este tutorial, nuestro objetivo es aprender a usar la instrucción CASE en MySQL.

Cuando se cumple la primera condición, la instrucción CASE procede a través de los criterios y devuelve un valor (como una instrucción IF-THEN-ELSE). Cuando una condición es verdadera, el programa dejará de leer y devolverá el resultado.

Devolverá el valor en la cláusula ELSE si ninguno de los criterios es verdadero. En caso de que no haya una parte ELSE en el código, el programa devuelve NULL.

La sintaxis de la declaración del caso se puede dar como:

case when condition then result_1 else result_2 end;

Intentemos aprender más sobre esta declaración con un ejemplo.

Sin embargo, antes de comenzar, creamos un conjunto de datos ficticio para trabajar. Aquí creamos una tabla, student_details, junto con algunas filas en ella.

-- create the table student_details
CREATE TABLE student_details(
  stu_id int,
  stu_firstName varchar(255) DEFAULT NULL,
  stu_lastName varchar(255) DEFAULT NULL,
  primary key(stu_id)
);
-- insert rows to the table student_details
INSERT INTO student_details(stu_id,stu_firstName,stu_lastName) 
 VALUES(1,"Preet","Sanghavi"),
 (2,"Rich","John"),
 (3,"Veron","Brow"),
 (4,"Geo","Jos"),
 (5,"Hash","Shah"),
 (6,"Sachin","Parker"),
 (7,"David","Miller");

La consulta anterior crea una tabla junto con filas con el nombre y apellido del estudiante. Para ver las entradas en los datos, usamos el siguiente código:

SELECT * FROM student_details;

El código mencionado anteriormente daría el siguiente resultado:

stu_id	stu_firstName	stu_lastName
1	      Preet	        Sanghavi
2	      Rich	        John
3	      Veron	        Brow
4	      Geo	        Jos
5	      Hash	        Shah
6	      Sachin	    Parker
7	      David	        Miller

Ahora, apuntemos a imprimir Yes junto con el apellido del estudiante cuando el nombre del estudiante es Preet; de lo contrario, imprimimos No.

La declaración CASE en MySQL

Como se vio en la sintaxis anterior, la declaración CASE en MySQL requiere una condición. Esto funciona de manera similar a una declaración IF..ELSE...

Podemos hacer uso del siguiente ejemplo de código para obtener el resultado deseado en MySQL:

SELECT stu_lastName,
CASE stu_firstName
    WHEN 'Preet' THEN 'Yes'
    ELSE 'No'
END
AS RESULT
FROM student_details;

El código antes mencionado obtiene el apellido de cada estudiante junto con una nueva columna llamada result. Esta columna de resultado tiene Yes si el nombre del alumno es Preet.

La salida del código anterior se puede visualizar de la siguiente manera.

stu_lastName	RESULT
Sanghavi		Yes
John			No
Brow			No
Jos				No
Shah			No
Parker			No
Miller			No

Del mismo modo, podemos utilizar la declaración CASE para aprovechar los datos y cumplir con nuestros requisitos. Una alternativa a la sentencia CASE es la sentencia IF en MySQL.

Por lo tanto, con la ayuda de este tutorial, ahora podemos implementar con éxito la instrucción CASE en MySQL.

Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub

Artículo relacionado - MySQL Statement