A través de este post voy a ilustrar la función IF en MySQL; la cual funciona similar a los lenguajes de programación pero en forma de función; lo sé, es un poco complicado de decir pero verás que con los ejemplos quedará claro.

Nota: voy a explicar la función if en MySQL, no la sentencia. Me parece que MySQL también cuenta con la sentencia If pero eso es otra historia y se usa sobre todo en funciones, así que seguramente llegaste al post correcto.

If en MySQL

Como lo dije, esta es una función cuya forma básica es:

IF(condicion, enCasoDeQueSeCumpla, enCasoDeQueNo);

Si la condición (primer parámetro) se cumple, regresa el segundo parámetro; en caso de que no, el tercero.

Por lo tanto, la siguiente consulta:

select if(28 > 11, "Verdadero", "Falso");

Va a seleccionar la cadena “Verdadero“, ya que 28 sí es mayor que 11.

Recuerda que la condición puede variar, y que debe dar al final un booleano.

Si quieres probar

Para probar estos ejercicios (aunque al final dejaré un enlace a un fiddle) puedes instalar MySQL con PHP en tu PC; y ver este tutorial de los primeros pasos con MySQL.

En caso de que ya conozcas un poco, puedes omitir los posts recomendados. Al final del post dejaré ejercicios con MySQL.

Ejemplo con datos reales

Veamos otro ejemplo, pero para ello vamos a crear una tabla de personas:

Para demostrar el uso de IF, vamos a hacer que se ponga un mensaje de “Menor de edad” o “mayor de edad” usando If en MySQL; la consulta queda así:

La salida es la siguiente, en donde cuando la edad es menor que 18 se muestra “Menor de edad” y cuando no, “mayor de edad”:

If en MySQL - Mayor y menor de edad

If en MySQL – Mayor y menor de edad

Además de seleccionar simples cadenas, podemos seleccionar campos. Por ejemplo, si es mayor de edad vamos a mostrar el apellido paterno y si no, el materno.

La consulta queda así:

Con la siguiente salida:

If en MySQL con selección de columnas

If en MySQL con selección de columnas

Oh, por cierto, estoy utilizando la sentencia AS para “renombrar” la columna del if.

Condición como resultado de una función

La función If recibe parámetros, pero dichos parámetros pueden ser obtenidos de otras funciones.

Por ejemplo, veamos este ejemplo en donde mostramos un mensaje dependiendo de la letra con la que empieza el nombre; para comparar la letra usamos la función LEFT que corta en una cadena determinado número de caracteres.

La salida es:

MySQL con If - condición como resultado de otra función

MySQL con If – condición como resultado de otra función

La condición que se evalúa viene de llamar a otra función y comparar su resultado.

If anidado en MySQL

Para terminar el tutorial veamos cómo usar un “else if” en MySQL. Podemos anidar las funciones así:

If(condicion, if(otraCondicion, siSeCumple,siNoSecumple),siNoSeCumple );

Así

if(otraCondicion, siSeCumple,if(otraCondicion, siSeCumple,siNoSecumple));

Incluso así:

If(condicion, if(otraCondicion, siSeCumple,siNoSecumple),if(otraCondicion, siSeCumple,siNoSecumple));

Y dentro de cada if puede ir otro if, de manera infinita.

Voy a poner un ejemplo en donde si el nombre no empieza con “L” se compare si empieza con “W”. La consulta SQL queda así:

La comparación que se hace es: if empieza con L, muestra que empieza con L. En caso de que no, compara si comienza con W; en caso de que sí, muestra que comienza con W, y en caso de que no, muestra que no empieza con ninguna de las dos letras.

If anidado en MySQL

If anidado en MySQL

Dentro del “else” del segundo if podría ir otro if, y así sucesivamente.

Conclusión

Te invito a probar más combinaciones con consultas de MySQL; por cierto, todo lo desarrollado aquí se puede probar en este fiddle.

¿Quieres más sobre MySQL? mira estos ejercicios:

Ejercicios con consultas parte 1

Ejercicios con Funciones de cadena

Ejercicios con MySQL parte 3

 


Estoy disponible para trabajar en tu proyecto o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.
Si el post fue de tu agrado muestra tu apoyo compartiéndolo, suscribiéndote al blog, siguiéndome o realizando una donación.

Suscribir por correo

Ingresa tu correo y recibirás mis últimas entradas sobre programación, open source, bases de datos y todo lo relacionado con informática

Únete a otros 3,235 suscriptores


parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

3 Comentarios

antuan · octubre 15, 2021 a las 4:43 pm

Buen aporte hermano, saludos

javier · julio 21, 2019 a las 10:14 am

Muy interesante esta entrada. Bueno y el blog.

Mil gracias por el trabajo.

    parzibyte · julio 21, 2019 a las 11:18 am

    Gracias por tus comentarios 🙂 te invito a seguirme en mis redes sociales

Deja un comentario

Marcador de posición del avatar

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

A %d blogueros les gusta esto: