ComeçarComece gratuitamente

CTEs com subconsultas aninhadas

Se você estiver listando várias subconsultas na cláusula FROM com comandos aninhados, sua consulta provavelmente ficará longa, complexa e difícil de ler.

Como muitas consultas são escritas com a intenção de serem salvas e executadas novamente no futuro, a organização adequada é fundamental para um fluxo de trabalho contínuo. Ao organizar as subconsultas como CTEs, você economizará tempo, espaço e minimizará a confusão a longo prazo!

Este exercício faz parte do curso

Manipulação de dados em SQL

Ver Curso

Instruções de exercício

  • Declare uma CTE que calcula o total de gols das partidas em agosto da temporada 2013/2014.
  • Você pode unir a CTE à esquerda na tabela da liga usando country_id da CTE match_list.
  • Filtre a lista na subconsulta interna para selecionar somente as partidas em agosto da temporada de 2013/2014.

Exercício interativo prático

Experimente este exercício preenchendo este código de exemplo.

-- Set up your CTE
___ match_list ___ (
    SELECT 
  		country_id,
  	   (home_goal + away_goal) AS goals
    FROM match
  	-- Create a list of match IDs to filter data in the CTE
    WHERE id IN (
       SELECT ___
       FROM ___
       WHERE season = ___ AND EXTRACT(MONTH FROM ___) = ___))
-- Select the league name and average of goals in the CTE
SELECT 
	___,
    ___(___)
FROM league AS l
-- Join the CTE onto the league table
LEFT JOIN ___ ON l.id = match_list.___
GROUP BY l.name;
Editar e executar código