Como aprender SQL para análise de dados: roteiro do zero
Para aprender SQL para análise de dados, siga esta ordem: SELECT e filtros, ordenação, agregação com GROUP BY, JOIN entre tabelas, subconsultas, CTEs e, por fim, funções de janela. Pratique cada etapa respondendo perguntas de negócio em uma base real e feche com um projeto para o portfólio. Não é preciso saber programar.
Publicado em · Atualizado em
Por que aprender SQL?
SQL (Structured Query Language) é a linguagem usada para consultar bancos de dados. Quase toda empresa guarda vendas, clientes, estoque e finanças em um banco relacional, e o SQL é o jeito direto de buscar essas informações sem depender de alguém exportar planilha.
Para quem quer virar analista de dados, SQL é uma das habilidades mais pedidas nas vagas e quase sempre aparece no teste técnico. Ele também é base para engenharia de dados, ciência de dados e para usar Power BI de forma mais profissional. E é uma linguagem que muda pouco: o que você aprende hoje continua valendo daqui a muitos anos.
Roteiro para aprender SQL em 7 etapas
Os exemplos usam duas tabelas simples de uma loja: pedidos (id, cliente_id, data_pedido, valor, status) e clientes (id, nome, cidade, estado).
1. SELECT: buscar colunas
O primeiro comando. Você diz quais colunas quer e de qual tabela. Aprenda também apelidos (AS), DISTINCT para valores únicos e LIMIT/TOP para ver só algumas linhas.
SELECT nome, cidade, estado
FROM clientes;
2. WHERE e ORDER BY: filtrar e ordenar
Filtre linhas com operadores de comparação, AND, OR, IN, BETWEEN, LIKE e IS NULL. Ordene com ORDER BY. Aqui você já responde perguntas reais.
SELECT id, data_pedido, valor
FROM pedidos
WHERE status = 'entregue'
AND data_pedido >= '2026-01-01'
ORDER BY valor DESC;
3. Agregação: GROUP BY e HAVING
Funções COUNT, SUM, AVG, MIN e MAX, agrupadas por uma ou mais colunas. HAVING filtra depois de agrupar (WHERE filtra antes). É a base de qualquer indicador.
SELECT status, COUNT(*) AS qtd_pedidos, SUM(valor) AS faturamento
FROM pedidos
GROUP BY status
HAVING COUNT(*) > 100;
4. JOIN: juntar tabelas
A etapa mais importante. Entenda INNER JOIN (só o que existe nas duas tabelas), LEFT JOIN (tudo da esquerda, mesmo sem par) e como uma chave errada duplica linhas. Pratique bastante: é o que mais cai em teste técnico.
SELECT c.estado, SUM(p.valor) AS faturamento
FROM pedidos p
INNER JOIN clientes c ON c.id = p.cliente_id
WHERE p.status = 'entregue'
GROUP BY c.estado
ORDER BY faturamento DESC;
Junto com o JOIN, aprenda CASE WHEN (criar categorias), funções de texto e de data e o tratamento de nulos com COALESCE.
5. Subconsultas
Uma consulta dentro de outra, usada em WHERE, FROM ou SELECT. Exemplo: clientes que compraram acima da média.
SELECT cliente_id, SUM(valor) AS total
FROM pedidos
GROUP BY cliente_id
HAVING SUM(valor) > (SELECT AVG(valor) FROM pedidos);
6. CTE: consultas legíveis com WITH
A CTE (Common Table Expression) dá nome a uma etapa da consulta. Em vez de subconsultas aninhadas difíceis de ler, você escreve o raciocínio em partes. É muito usada no dia a dia e valorizada em entrevistas.
WITH total_por_cliente AS (
SELECT cliente_id, SUM(valor) AS total
FROM pedidos
WHERE status = 'entregue'
GROUP BY cliente_id
)
SELECT c.nome, t.total
FROM total_por_cliente t
JOIN clientes c ON c.id = t.cliente_id
ORDER BY t.total DESC;
7. Funções de janela
Calculam algo olhando para outras linhas sem agrupar o resultado: ranking (ROW_NUMBER, RANK, DENSE_RANK), acumulados (SUM OVER), comparação com o período anterior (LAG, LEAD) e médias móveis. É o que separa o SQL básico do SQL de analista experiente.
SELECT cliente_id, data_pedido, valor,
ROW_NUMBER() OVER (PARTITION BY cliente_id ORDER BY data_pedido) AS n_compra,
LAG(data_pedido) OVER (PARTITION BY cliente_id ORDER BY data_pedido) AS compra_anterior
FROM pedidos;
Resumo do roteiro
| Etapa | Comandos principais | Pergunta que você já consegue responder |
|---|---|---|
| 1. Seleção | SELECT, FROM, AS, DISTINCT | Quais cidades temos clientes? |
| 2. Filtros | WHERE, IN, BETWEEN, LIKE, ORDER BY | Quais foram os maiores pedidos de janeiro? |
| 3. Agregação | COUNT, SUM, AVG, GROUP BY, HAVING | Quanto faturamos por mês? |
| 4. JOIN | INNER, LEFT JOIN, CASE WHEN, COALESCE | Qual estado mais compra? |
| 5. Subconsulta | SELECT dentro de WHERE/FROM | Quem comprou acima da média? |
| 6. CTE | WITH ... AS | Qual o ticket médio dos 10 maiores clientes? |
| 7. Janela | ROW_NUMBER, RANK, LAG, SUM OVER | Quanto tempo o cliente leva entre uma compra e outra? |
Depois do roteiro, vale conhecer o básico de criação e alteração de dados (CREATE TABLE, INSERT, UPDATE), views e índices. Para análise de dados, porém, o foco está nas consultas.
Onde praticar SQL
- No seu computador, de graça: PostgreSQL, SQL Server (edições Express e Developer) e MySQL têm versões gratuitas. SQLite com um editor como DBeaver é o jeito mais leve de começar.
- Direto no navegador: existem ambientes online que rodam SQL sem instalar nada, bons para os primeiros exercícios.
- Bases públicas: portais de dados abertos do governo e conjuntos de dados públicos de e-commerce, saúde e transporte servem para projetos.
- Exercícios com correção: o que mais acelera é ter feedback. Na plataforma da Educadados, os exercícios de SQL rodam e são corrigidos no próprio navegador.
Uma regra simples: para cada aula assistida, resolva pelo menos cinco perguntas sozinho. SQL se aprende escrevendo, não assistindo.
Projeto de SQL para o portfólio
Um bom projeto de SQL mostra que você sabe sair da pergunta de negócio até a resposta. Sugestão: análise de clientes de uma loja online.
- Escolha uma base com pelo menos pedidos, clientes e produtos.
- Escreva 8 a 10 perguntas de negócio: faturamento por mês, produtos mais vendidos, ticket médio por estado, clientes que não compram há 90 dias, tempo médio entre compras, ranking de produtos por categoria.
- Responda cada pergunta com uma consulta, usando JOIN, CTE e funções de janela onde fizer sentido.
- Documente no GitHub: a pergunta, a consulta comentada, o resultado e uma frase de conclusão.
- Feche com recomendações: o que a loja deveria fazer com base nos números.
- Bônus: leve o resultado para um dashboard no Power BI (veja como aprender Power BI).
Erros comuns de quem está aprendendo SQL
- Usar SELECT * em tudo, trazendo colunas desnecessárias e deixando consultas lentas.
- Não conferir a quantidade de linhas depois do JOIN. Uma chave duplicada multiplica o faturamento sem você perceber.
- Confundir WHERE com HAVING. WHERE filtra linhas, HAVING filtra grupos.
- Esquecer dos nulos:
= NULLnão funciona, useIS NULL. - Só assistir aulas sem escrever consultas.
- Copiar consulta da IA sem entender. Ela ajuda muito, mas você precisa saber validar o resultado.
Quer aprender SQL com aulas, bases reais e exercícios corrigidos na hora no navegador? O curso de SQL para análise de dados da Educadados vai das primeiras consultas às funções de janela.
Conhecer o curso de SQLO curso também faz parte da Formação Analista de Dados, com Power BI, Python, Excel e Estatística.
Perguntas frequentes
SQL é difícil de aprender?
Não. SQL é uma das linguagens mais fáceis de começar, porque os comandos parecem frases em inglês (SELECT, FROM, WHERE). A parte que exige mais prática é JOIN, subconsulta e funções de janela, que é justamente o que mais aparece em testes técnicos.
Preciso saber programar para aprender SQL?
Não. SQL é uma linguagem de consulta: você descreve o resultado que quer e o banco de dados decide como buscar. Não há laços, classes nem instalação complicada para começar.
Qual banco de dados usar para aprender SQL?
Qualquer um serve, porque o SQL básico é praticamente igual em todos. PostgreSQL e SQL Server são muito usados em empresas e têm versões gratuitas. SQLite é o jeito mais simples de começar sem instalar servidor. O importante é praticar com perguntas de negócio.
Qual a diferença entre SQL, MySQL, PostgreSQL e SQL Server?
SQL é a linguagem. MySQL, PostgreSQL, SQL Server, Oracle e SQLite são sistemas de banco de dados que usam essa linguagem, cada um com pequenas diferenças de funções e sintaxe. Quem aprende bem em um adapta rápido para os outros.
Quanto tempo leva para aprender SQL?
O básico (SELECT, filtros, ordenação e agregação) dá para aprender em poucas semanas de prática constante. Ficar confortável com JOIN, CTE e funções de janela leva mais tempo e depende de resolver muitos exercícios com bases reais.
SQL ainda vale a pena com a inteligência artificial?
Vale. A IA ajuda a escrever consultas mais rápido, mas quem não entende SQL não consegue saber se a consulta está certa, se o JOIN duplicou linhas ou se o filtro deixou dados de fora. Entender SQL é o que permite usar a IA com segurança.
Continue lendo
- Como virar analista de dados: guia passo a passo
- Como aprender Power BI do zero
- Como virar engenheiro de dados
- Curso de SQL para análise de dados
- Todos os cursos da Educadados
Sobre o autor
Felipy Morais é analista e engenheiro de dados com mais de 6 anos de experiência, certificado Microsoft PL-300, DP-600 e DP-700 e Databricks Fundamentals. É fundador e instrutor da Educadados. Conheça a trajetória.