Organize lógica com subqueries e CTEs
Quebre perguntas complexas em etapas legíveis.
- Usar subqueries e CTEs para compor análises em múltiplos passos.
Subquery é uma consulta dentro de outra consulta. CTE (Common Table Expression) nomeia um resultado intermediário com WITH, facilitando leitura e manutenção de consultas maiores.
1WITH customer_totals AS (
2 SELECT customer_id, SUM(total) AS total_spent
3 FROM orders
4 GROUP BY customer_id
5)
6SELECT customer_id, total_spent
7FROM customer_totals
8WHERE total_spent >= 100
9ORDER BY total_spent DESC;CTEs ajudam a separar cálculo intermediário de filtro e ordenação finais. Comece priorizando clareza/correção e depois ajuste performance conforme necessário.
Principais conclusões
Usar subqueries e CTEs para compor análises em múltiplos passos.
Use nomes de tabela e coluna que tornem a consulta legível.
Confirme quais linhas a consulta afeta antes de depender do resultado.
Quiz da aula
5 perguntas · aprovação com 4 acertos · até 50 XP
Ao passar, você conclui a aula e mantém sua sequência. As perguntas erradas voltarão em sessões de revisão.
Pratique: escreva consultas SQL
Escreva consultas em pequenos bancos de dados de exemplo e execute-as localmente no navegador. Cada teste começa com um banco SQLite novo.
Encontre clientes de maior gasto com CTE
Retorne customer_id e total_spent para clientes com total >= 100, do maior para o menor gasto.
- Clientes no limiar ou acima
Tabelas e registros de exemplo
Cada teste recria um banco de dados em memória no dialeto escolhido antes de executar a consulta.
CREATE TABLE orders (customer_id INTEGER, total REAL); INSERT INTO orders VALUES (1, 45), (1, 60), (2, 30), (2, 20), (3, 110);Usando SQLite 3 (sql.js), um banco de dados embutido. As consultas rodam localmente em um worker, com um banco em memória novo a cada teste.
Dúvidas sobre esta lição
Travou em algum ponto? Pergunte. Descobriu algo? Compartilhe. Explicar também é uma ótima forma de aprender.
Carregando publicações…