If ELSE en MySQL

Preet Sanghavi 28 marzo 2022
If ELSE en MySQL

En este tutorial, nuestro objetivo es explorar cómo usar la declaración IF ELSE en MySQL.

Una de las funciones clave de un analista de datos es recopilar información de los datos y generar resultados significativos. Se puede hacer con la ayuda de varias técnicas de filtrado y visualización de datos.

Uno de ellos es la sentencia IF ELSE. Una declaración IF ELSE, como su nombre indica, nos ayuda a filtrar datos de una tabla en particular en la base de datos MySQL.

Estas condiciones de filtrado se establecen en el bloque IF de la sentencia. Si una condición particular no se cumple con los datos ingresados ​​en nuestra tabla, se ejecuta el bloque ELSE.

Por ejemplo, en una tabla de empleados con detalles de empleados, podemos usar la cláusula IF ELSE en MySQL si deseamos filtrar a los empleados en función de sus salarios. Vamos a entender cómo funciona este método.

Antes de comenzar, creemos un conjunto de datos ficticio mediante la creación de una tabla student_details con algunas filas.

-- 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");

Para ver las entradas en los datos, usamos el siguiente código.

SELECT * FROM student_details;

Producción :

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

Declaración IF ELSE en MySQL

La sintaxis básica de la técnica IF ELSE es la siguiente.

select column_name, 
    (
    CASE 
        WHEN <condition> THEN <operation>
        ELSE 1
    END)
 from table_x;

Como se ve en la consulta antes mencionada, usamos la instrucción case junto con la cláusula ELSE. Así es como se lleva a cabo la sentencia IF ELSE en MySQL.

Filtremos los datos de nuestra tabla student_details asegurándonos de que solo se impriman los apellidos de los alumnos en lugar del nombre si stu_id es mayor que 3. De lo contrario, imprimimos el primer nombre si el stu_id es menor o igual a 3.

Podemos lograr esto usando la siguiente consulta.

select stu_id, 
    (
    CASE 
        WHEN stu_id <= 3 THEN stu_firstName
        ELSE stu_lastName
    END) AS filtered_data
 from student_details;

Producción :

stu_id	filtered_data
1		Preet
2		Rich
3		Veron
4		Jos
5		Shah
6		Parker
7		Miller

Nota: En el código anterior, usamos el alias filtered_data con la palabra clave AS en MySQL para aumentar la legibilidad.

Una alternativa a la técnica CASE ELSE es un procedimiento almacenado. Se puede crear un procedimiento almacenado con el bloque IF ELSE, pero este método es muy ineficiente y case funciona mejor con casos de uso similares al discutido anteriormente.

Por lo tanto, con la ayuda de la declaración case, podemos implementar de manera eficiente la funcionalidad esperada de una declaración IF ELSE de cualquier otro lenguaje de programación para filtrar datos 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