Curso online gratuitoSQL para Iniciantes: do Zero a JOINs, Subqueries e Window Functions
Duração do curso online: 14 horas e 8 minutos
Novo
Aprenda SQL na prática e saia do básico aos JOINs, subqueries e window functions. Curso online gratuito com exercícios para turbinar seu portfólio.
Neste curso gratuito, aprenda sobre
Conceitos básicos de SGBD: instância vs database e o papel do SQL
Configuração do ambiente (SQLite/VS Code) e uso da extensão SQLTools
Consultas SELECT: FROM, WHERE, LIMIT e boas práticas com ponto e vírgula
Criação de colunas derivadas no SELECT sem alterar dados do banco
Ordenação e filtragem por faixa: ORDER BY, BETWEEN e operadores lógicos
Lógica condicional com CASE WHEN para categorizar e classificar dados
Agregações: COUNT, SUM e estatísticas básicas em tabelas
Remoção de duplicidades com DISTINCT em uma ou múltiplas colunas
Agrupamentos com GROUP BY e filtros de grupos com HAVING
Cruzamento de dados com JOINs: LEFT vs INNER e efeitos nas linhas
Estratégias analíticas: perdas de pontos por categoria e métricas por cliente
Subqueries e CTEs (WITH) para organizar e reutilizar etapas de consulta
Window Functions: ROW_NUMBER e acumulados com SUM/COUNT OVER
DDL/DML, views vs tabelas materializadas e otimização para dashboards
Descrição do curso
Dominar SQL é um dos caminhos mais diretos para trabalhar com dados, relatórios e produtos digitais com mais autonomia. Neste curso online gratuito, você começa do zero e constrói uma base sólida para consultar, filtrar e organizar informações de um banco de dados, evoluindo com segurança até técnicas essenciais do dia a dia profissional.
A jornada foi pensada para quem nunca escreveu uma query e também para quem já teve contato com SELECT, mas ainda sente insegurança em estruturar consultas mais completas. Você aprende a raciocinar como o banco “lê” suas instruções, a preparar o ambiente de execução e a ganhar fluidez com os elementos que realmente aparecem no trabalho: filtros, ordenações, contagens e análises por grupos. Ao longo do caminho, você pratica como criar colunas derivadas, classificar registros com lógica condicional e interpretar resultados sem depender de tentativa e erro.
Conforme avança, o foco passa a ser cruzamento de dados e análise: você entende quando usar JOINs e o impacto de cada tipo de junção no volume de linhas retornadas, aprende a organizar consultas com subqueries e CTEs para deixar a lógica mais legível e reutilizável e passa a resolver problemas comuns como retenção, engajamento e indicadores acumulados. Essa progressão ajuda a transformar SQL de uma lista de comandos em uma ferramenta de investigação e tomada de decisão.
Também há espaço para conceitos práticos de modelagem e manutenção, com noções de DDL e DML e discussões sobre escolhas que afetam performance e carga do banco em cenários de dashboards e consultas repetitivas. Ao final, você consolida o aprendizado aplicando tudo em um projeto que reúne as principais técnicas, reforçando a confiança para encarar testes, entrevistas e desafios reais com dados.
Se você quer aprender SQL com exercícios, desenvolver pensamento analítico e chegar a recursos modernos como window functions, este curso é uma trilha direta, objetiva e totalmente voltada à prática.
Conteúdo do curso
Aula em vídeo: Aprenda SQL - Dia 00: Introdução38m
Exercício: Qual é o principal foco deste curso de SQL para iniciantes?
Aula em vídeo: Aprenda SQL - Dia 01: Primeiros Conceitos27m
Exercício: Qual alternativa descreve melhor a diferença entre instância e database em um SGBD?
Aula em vídeo: Aprenda SQL - Dia 02: O tal SQL10m
Exercício: No contexto de SQL, qual afirmação descreve melhor o que é SQL?
Aula em vídeo: Aprenda SQL - Dia 03: SETUP08m
Exercício: Para começar a executar consultas SQL no ambiente configurado, qual arquivo deve ser utilizado como banco de dados no projeto?
Aula em vídeo: Aprenda SQL - Dia 04: OLÁ MUNDO!21m
Exercício: Qual consulta é mais indicada para “dar uma olhada” na tabela clientes sem trazer todos os registros para a memória?
Aula em vídeo: Aprenda SQL - Dia 05: Dúvidas10m
Exercício: No VS Code, qual é a função da extensão SQL Tools ao trabalhar com diferentes bancos de dados?
Aula em vídeo: Aprenda SQL - Dia 06: Revisão SELECT12m
Exercício: Em SQL, para que serve o ponto e vírgula (;) em um arquivo com consultas?
Aula em vídeo: Aprenda SQL - Dia 07: FROM12m
Exercício: Em SQLite, qual comando lista as tabelas disponíveis no banco de dados?
Aula em vídeo: Aprenda SQL - Dia 08: WHERE43m
Exercício: Em SQL, qual cláusula é usada para filtrar linhas com base em uma condição (ex.: trazer apenas produtos cuja categoria seja 'RPG')?
Aula em vídeo: Aprenda SQL - Dia 09: Novas COLUNAS31m
Exercício: Ao criar uma nova coluna no SELECT somando 10 à coluna quantidade_pontos (ex.: quantidade_pontos + 10), o que acontece com os dados no banco?
Aula em vídeo: Aprenda SQL - Dia 10: EXERCÍCIOS25m
Exercício: Ao filtrar clientes com pontuação entre 100 e 200 (incluindo 100 e 200), qual condição está correta?
Aula em vídeo: Aprenda SQL - Dia 11: ORDER BY15m
Exercício: Para listar os 10 clientes com mais pontos, qual consulta SQL está correta?
Aula em vídeo: Aprenda SQL - Dia 12: CASE WHEN22m
Exercício: Em SQL, qual afirmação descreve corretamente o comportamento do CASE WHEN?
Aula em vídeo: Aprenda SQL - Dia 13: COUNT11m
Exercício: Em SQL, qual é a forma recomendada para descobrir o número de linhas de uma tabela inteira?
Aula em vídeo: Aprenda SQL - Dia 14: DISTINCT19m
Exercício: Ao usar SELECT DISTINCT com mais de uma coluna, o que o SQL considera para remover duplicidades?
Aula em vídeo: Aprenda SQL - Dia 15: ESTATÍSTICAS23m
Exercício: Ao usar CASE para separar transações negativas e depois contar, qual prática evita contar registros que não são negativos?
Aula em vídeo: Aprenda SQL - Dia 16: GROUP BY20m
Exercício: Para descobrir quantas transações existem por ID de produto sem ficar trocando o filtro no WHERE, qual consulta é a mais adequada?
Aula em vídeo: Aprenda SQL - Dia 17: HAVING06m
Exercício: Ao querer filtrar apenas grupos cuja soma de pontos acumulados no mês seja maior ou igual a 4000, qual cláusula deve ser usada após o GROUP BY?
Aula em vídeo: Aprenda SQL - Dia 18: EXERCÍCIOS50m
Exercício: Ao classificar transações em baixo, médio e alto conforme a quantidade de pontos, qual estrutura SQL é a mais indicada para criar essa coluna derivada?
Aula em vídeo: Aprenda SQL - Dia 19: Cruzamento de Dados22m
Exercício: Em um LEFT JOIN, qual tabela é mantida como referência, mesmo quando não há correspondência na outra tabela?
Aula em vídeo: Aprenda SQL - Dia 20: JOINs46m
Exercício: Ao trocar um LEFT JOIN por um INNER JOIN entre uma tabela de transações e a tabela de produtos, o que tende a acontecer com a quantidade de linhas retornadas?
Aula em vídeo: Aprenda SQL - Dia 21: EXERCÍCIOS31m
Exercício: Para descobrir quais clientes mais perderam pontos em uma categoria específica (ex.: lovers), qual estratégia de consulta é a mais adequada?
Aula em vídeo: Aprenda SQL - Dia 22: SubQueries25m
Exercício: Em SQL, qual opção descreve melhor o que é uma subquery?
Aula em vídeo: Aprenda SQL - Dia 23: CTEs33m
Exercício: Em SQL, qual é a principal finalidade de uma CTE (Common Table Expression) iniciada com WITH?
Aula em vídeo: Aprenda SQL - Dia 24: EXERCÍCIOS35m
Exercício: Ao calcular a retenção por dia a partir dos clientes do 1º dia, qual abordagem garante que só estamos acompanhando a mesma “safra” inicial ao longo do tempo?
Aula em vídeo: Aprenda SQL - Dia 25: ENUMERANDO LINHAS27m
Exercício: Para encontrar o dia de maior engajamento (mais interações) de cada cliente usando Window Function, qual abordagem é a mais adequada?
Aula em vídeo: Aprenda SQL - Dia 26: WINDOW FUNCTIONS27m
Exercício: Qual Window Function é mais adequada para calcular o total acumulado de transações ao longo dos dias (ex.: somar o dia atual com os anteriores)?
Aula em vídeo: Aprenda SQL - Dia 27: EXERCÍCIOS32m
Exercício: Para calcular a quantidade de transações acumuladas ao longo do tempo (dia a dia), qual Window Function é a mais adequada?
Aula em vídeo: Aprenda SQL - Dia 28: DDL e DML43m
Exercício: Por que criar uma tabela com o resultado de uma query (em vez de usar apenas uma VIEW comum) pode reduzir a carga no banco quando um dashboard consulta dados repetidamente?
Aula em vídeo: Aprenda SQL - Dia 29: PROJETO FINAL1h50m
Exercício: Para calcular dias desde a última transação de cada cliente usando uma coluna dif_date (diferença em dias entre hoje e a data da transação), qual agregação é a mais apropriada?