ComenzarEmpieza gratis

Filtrar tu sentencia CASE

Generemos una lista de partidos ganados por el equipo Bologna de Italia. Hay bastantes equipos adicionales en las dos tablas, por lo que será clave para generar una consulta útil utilizar tu sentencia CASE como filtro en la cláusula WHERE.

Las sentencias CASE te permiten categorizar los datos que te interesan y excluir los datos que no te interesan. Para ello, puedes utilizar una sentencia CASE como filtro en la sentencia WHERE para eliminar el resultado que no quieras ver.

A continuación te explicamos cómo puedes configurarlo:

SELECT *
FROM table
WHERE 

    CASE WHEN a > 5 THEN 'Keep'

         WHEN a <= 5 THEN 'Exclude' END = 'Keep';

Básicamente, puedes utilizar la sentencia CASE como columna de filtro, como cualquier otra columna de tu base de datos. La única diferencia es que no asignas alias a la sentencia en WHERE.

Este ejercicio forma parte del curso

Manipulación de datos en SQL

Ver curso

Instrucciones del ejercicio

  • Utiliza la sentencia CASE en la cláusula WHERE para filtrar cuando hometeam_id es 9857 y los goles en casa superan a los goles fuera de casa.
  • Utiliza la sentencia CASE en la cláusula WHERE para filtrar cuando awayteam_id es 9857 y los goles fuera de casa superan a los goles en casa.
  • Termina la sentencia CASE excluyendo los partidos que el Bologna no ganó.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

SELECT 
	season,
    date,
	home_goal,
	away_goal
FROM matches_italy
WHERE 
	-- Find games where home_goal is more than away_goal
	___ ___ hometeam_id = 9857 ___ home_goal ___ away_goal ___ 'Bologna Win'
		-- Find games where away_goal is more than home_goal
        ___ awayteam_id = 9857 ___ away_goal ___ home_goal ___ 'Bologna Win' 
        -- Exclude games not won by Bologna
		___ IS NOT ___;
Editar y ejecutar código