Crear categorías con lógica condicional

SQL intermedio con IA

Jasmin Ludolf

Senior Data Science Content Developer

El CASE para la lógica condicional

|duration|
|--------|
|123     |
|110     |
|151     |
...
  • Categorizar como "Short", "Standard", "Epic"

  • duration > 90: sí o no

  • Usar lógica condicional

  • Más fácil de leer y comunicar

Cubo

SQL intermedio con IA

Mala instrucción para CASE

Instrucción: Categoriza películas como Short si duran menos de 90 minutos, Standard si menos de 150, y Epic de lo contrario

SELECT 
    id, 
    title, 
    duration,
    CASE 
        WHEN duration < 90 THEN 'Short'
        WHEN duration < 150 THEN 'Standard'
        ELSE 'Epic'
    END AS film_category
FROM films;
SQL intermedio con IA

Mala instrucción para CASE

Instrucción: Categoriza películas como Short si duran menos de 90 minutos, Standard si menos de 150, Epic de lo contrario

SELECT 
    id, 
    title, 
    duration,
    CASE 
        WHEN duration < 150 THEN 'Standard'
        WHEN duration < 90 THEN 'Short'
        ELSE 'Epic'
    END AS film_category
FROM films;

$$

  • Riesgo de errores
  • Categoría incorrecta si una película cumple ambos criterios
    • e.g. tanto menos de 90 como menos de 150
SQL intermedio con IA

Mejor instrucción para CASE

Instrucción: Categoriza películas como Short si duran menos de 90 minutos, Standard si entre 90 y 149 minutos, Epic si 150 minutos o más, y desconocido de lo contrario

SELECT 
    id, 
    title, 
    duration,
    CASE 
        WHEN duration < 90 THEN 'Short'
        WHEN duration BETWEEN 90 AND 149 THEN 'Standard'
        WHEN duration >= 150 THEN 'Epic'
        ELSE 'Unknown'
    END AS category
FROM films;
SQL intermedio con IA

Verificar la lógica

$$

|id|title                                           |duration|category|
|--|------------------------------------------------|--------|--------|
|1 |Intolerance: Love's Struggle Throughout the Ages|123     |Standard|
|2 |Over the Hill to the Poorhouse                  |110     |Standard|
|3 |The Big Parade                                  |151     |Epic    |
|4 |Metropolis                                      |145     |Standard|
...
|id  |title  |duration|category|
|----|-------|--------|--------|
|4396|Destiny|        |Unknown |
...
SQL intermedio con IA

Filtrar NULLs

Instrucción: Elimina cualquier duración NULL

SELECT 
    id, 
    title, 
    duration,
    CASE 
        WHEN duration < 90 THEN 'Short'
        WHEN duration BETWEEN 90 AND 149 THEN 'Standard'
        WHEN duration >= 150 THEN 'Epic'
        ELSE 'Unknown'
    END AS category
FROM films

WHERE duration IS NOT NULL;
SQL intermedio con IA

Beneficios de las categorías

$$

  • Aclarar resultados con etiquetas significativas

$$

  • Mejorar la comunicación

$$

  • Facilitar visualizaciones más limpias

Estrella

SQL intermedio con IA

¡Vamos a practicar!

SQL intermedio con IA

Preparing Video For Download...