Funciones IF

Función IF

La función IF en SQL se utiliza para realizar una evaluación condicional. Dependiendo del resultado de la condición, devuelve un valor u otro.

Sintaxis:

IF(condición, valor_si_verdadero, valor_si_falso)
  • condición: Es la expresión que se evalúa (por ejemplo, si una columna es mayor que un valor).

  • valor_si_verdadero: El valor que se devuelve si la condición es verdadera.

  • valor_si_falso: El valor que se devuelve si la condición es falsa.

Ejemplo:

SELECT IF(edad > 18, 'Mayor de edad', 'Menor de edad') AS categoria
FROM usuarios;

COUNT(IF)

El uso de COUNT con IF permite contar registros que cumplen con una condición específica dentro de una consulta.

Ten en cuenta que COUNTes una función de agregación, por lo que si la utilizas sin la cláusula GROUP BY se calculará la suma de todas las filas como si todo fuese un único grupo:

SELECT COUNT(IF(edad > 18, 1, NULL)) AS mayores_de_edad
FROM usuarios;

Y si se utiliza GROUP BY se computará el contaje dentro de cada grupo:

SELECT 
    producto,
    COUNT(IF(cantidad > 5, 1, NULL)) AS ventas_mayores_a_5
FROM 
    ventas
GROUP BY 
    producto;

SUM(IF)

De forma análoga a la función anterior, pero calculando la suma de valores en vez de contar los que hay. Por ejemplo:

SELECT 
    producto,
    SUM(IF(cantidad * precio_unitario > 100, cantidad, 0)) AS cantidad_mayor_100
FROM 
    ventas
GROUP BY 
    producto;

Last updated