Voltar para a lista de artigos Artigos
10 minutos de leitura

5 lições de SQL a aprender antes do final do ano

Muitos alunos de SQL ficam presos entre o nível iniciante e o intermediário — as consultas funcionam, mas nem sempre como esperado. Estas cinco lições corrigem as lacunas que a maioria dos alunos ainda tem e fortalecerão seu SQL antes do fim do ano.

À medida que o ano chega ao fim, muitos alunos começam a refletir sobre o que conquistaram — e o que ainda falta aprender. Se você estuda SQL há algum tempo, provavelmente já escreveu algumas consultas, uniu algumas tabelas e filtrou resultados. Mas, se for honesto, ainda há algumas coisas que parecem desconfortáveis.

Isso é normal. Todo aluno de SQL chega a esse estágio — em algum ponto entre o iniciante e o intermediário — em que você consegue escrever consultas que funcionam, mas nem sempre entende por que elas funcionam. Você consegue obter uma resposta, mas nem sempre a resposta certa.

Ao longo dos anos, percebi que a maioria dos alunos tende a carecer das mesmas cinco habilidades. Não são tópicos avançados, mas são aqueles que o tornam confiante, flexível e pronto para o trabalho com dados no mundo real. Portanto, antes que o ano termine, aqui estão cinco lições de SQL que vale a pena dominar.

1. Finalmente aprenda LEFT JOIN e FULL JOIN

Os iniciantes geralmente aprendem INNER JOIN muito bem, mas LEFT JOIN e FULL JOIN muitas vezes permanecem um mistério. Muitos alunos os evitam porque não entendem como funcionam e, mais importante, não reconhecem quando eles são realmente necessários.

No entanto, em bancos de dados reais, os dados raramente estão completos. Os clientes nem sempre têm pedidos. Os produtos nem sempre têm avaliações. É por isso que essas junções são importantes — elas permitem que você analise dados completos, não apenas dados perfeitos.

Na vida real, você deve entender como LEFT JOIN e FULL JOIN funcionam e quando usar cada um:

  • LEFT JOIN retorna todas as linhas da tabela esquerda (primeira), mesmo que não haja correspondências na outra tabela.
  • FULL JOIN retorna todas as linhas de ambas as tabelas, mesmo que não haja correspondências em nenhum dos lados.

Exemplo:

SELECT 
  c.customer_id, 
  c.name, 
  o.order_id
FROM customers c
LEFT JOIN orders o 
ON c.customer_id = o.customer_id;

Esta consulta lista todos os clientes, incluindo aqueles que não fizeram nenhum pedido — algo que um INNER JOIN poderia passar despercebido.

É hora de tomar uma decisão e finalmente aprender essas junções. Depois de fazer isso, suas análises se tornarão muito mais precisas e completas.

Onde aprender:

Nosso curso Cláusulas JOIN em SQL oferece prática extensiva com todos os tipos de junção — mais de 90 exercícios guiados e não guiados focados inteiramente em dominar as junções. Você aprenderá a reconhecer qual junção usar em cada cenário e ganhará confiança para lidar com consultas complexas sem precisar adivinhar. Se você pretende aprimorar um conceito este mês, que seja este.

2. HAVING: pare de confundir com WHERE

Outro conceito chamado de “intermediário” é HAVING. Coloquei isso entre aspas porque qualquer profissional de SQL riria se você chamasse isso de avançado — mas, para muitos iniciantes, é uma das ideias mais difíceis de dominar.

HAVING é usado para filtrar grupos, não linhas individuais. Ele ajuda você a trabalhar com condições agregadas, como contagens, somas ou valores máximos — o tipo de lógica que você usará em quase todas as consultas analíticas.

Entender quando usar WHERE e quando usar HAVING é crucial para uma análise séria:

  • Use WHERE para filtrar linhas antes de
  • Use HAVING para filtrar grupos depois

Aprender HAVING também proporciona uma compreensão mais profunda de como os bancos de dados processam consultas internamente — e esse conhecimento é inestimável ao otimizar ou depurar seu próprio código.

Exemplo:

SELECT product_id, COUNT(*) AS total_orders
FROM sales
GROUP BY product_id
HAVING COUNT(*) > 100;

Esta consulta encontra produtos com mais de 100 vendas — algo que WHERE não pode ser feito, porque os grupos só existem após o agrupamento.

Onde aprender:
Nosso curso SQL GROUP BY Practice oferece dezenas de exercícios focados em agrupamento, agregação e HAVING. É a maneira mais rápida de parar de adivinhar quando usar cada cláusula e começar a escrever consultas analíticas corretas com confiança.

3. Como as comparações com NULL realmente funcionam

Esta parece simples — até que seus resultados não façam sentido. Esses erros não irão quebrar sua consulta, mas irão silenciosamente lhe dar respostas erradas — e isso é ainda pior.

O exemplo mais simples: você escreve WHERE email = NULL e não obtém resultados. Um exemplo mais sutil: WHERE age > 18 — isso excluirá os clientes cuja idade não está definida.

Isso porque NULL não se comporta como outros valores. Ele representa “desconhecido”, e comparar qualquer coisa com “desconhecido” nunca retorna TRUE. O SQL usa lógica de três valores: TRUE, FALSE, e UNKNOWN. Entender como o SQL lida com NULL evita erros lógicos silenciosos. = NULL sempre avalia como UNKNOWN, portanto, não filtra nada. É por isso que você deve usar IS NULL or IS NOT NULL.

Para encontrar usuários sem endereço de e-mail, escreva:

WHERE email IS NULL

Para encontrar usuários que têm um e-mail, escreva:

WHERE email IS NOT NULL

É uma pequena mudança, mas compreendê-la significa que agora você entende uma das regras mais fundamentais do SQL — algo que muitos desenvolvedores nunca param para pensar.

Para se aprofundar no funcionamento do NULL e por que as comparações podem ser complicadas, leia nosso artigo Operadores de comparação NULL no SQL.

Onde aprender:

Nosso curso Funções Comuns em SQL inclui um módulo dedicado a NULL. Você aprenderá como evitar erros comuns com valores ausentes e como usar funções como COALESCE, IFNULLe NULLIF para lidar com eles adequadamente. Este curso ajudará você a entender como NULL se comporta em expressões e agregados, para que suas consultas sempre retornem resultados precisos.

4. Subconsultas correlacionadas

Alguns iniciantes adoram subconsultas e tentam fazer tudo com elas. Outros têm medo delas e as evitam completamente. Mas uma coisa é quase universal: tanto os iniciantes quanto muitos usuários intermediários temem as subconsultas correlacionadas.

Subconsultas correlacionadas são subconsultas que fazem referência à consulta externa e não podem ser executadas sozinhas. Elas dependem da linha atual da consulta externa, o que as torna mais complexas e mais poderosas.

É isso que lhes dá sua força: você pode resolver problemas que, de outra forma, exigiriam várias etapas ou tabelas temporárias. Por outro lado, usá-las corretamente requer compreender como um banco de dados processa uma consulta — passo a passo.

Exemplo:

SELECT name, department_id, salary
FROM employees e
WHERE salary > (
  SELECT AVG(salary)
  FROM employees
  WHERE department_id = e.department_id
);

Esta consulta encontra funcionários que ganham mais do que o salário médio em seu departamento — uma tarefa comum no mundo real que é difícil de expressar sem uma subconsulta correlacionada.

Vale a pena aprender, mesmo que pareça intimidante no início. Depois de entender como as subconsultas correlacionadas funcionam, você verá que elas abrem as portas para um nível totalmente novo de resolução de problemas em SQL.

Onde aprender:

Nosso curso de subconsultas SQL ajuda você a passar de “eu meio que entendo subconsultas” para escrever com confiança tanto as simples quanto as correlacionadas. Ele oferece prática extensiva e feedback imediato, para que você aprenda quando e como usar cada tipo enquanto vê como o SQL as processa passo a passo. Depois de dominar esse conceito, grande parte do SQL de repente faz sentido.

5. Como explorar um banco de dados

Essa é uma das habilidades que separa os usuários iniciantes dos intermediários e avançados em SQL. Os iniciantes podem escrever consultas quando já conhecem a estrutura de um banco de dados, mas quando se deparam com um banco desconhecido, muitas vezes não sabem por onde começar. Nem sempre você terá um diagrama ou documentação que explique como tudo se conecta.

A maioria dos cursos de SQL ignora completamente essa parte, mas ela é essencial para o trabalho no mundo real. Saber como explorar um banco de dados por conta própria lhe dá independência e confiança. Você será capaz de encontrar os dados certos, entender as relações entre as tabelas e planejar suas consultas sem esperar que alguém explique a estrutura.

Veja como é a exploração de bancos de dados na prática:

  • Identifique quais tabelas e colunas existem – comece aprendendo a estrutura geral do banco de dados.
  • Encontre as tabelas e colunas certas – localize onde os dados relevantes para sua análise estão armazenados.
  • Inspecione algumas linhas de amostra – execute
    SELECT * FROM customers LIMIT 5;
    para ver como são os dados.
  • Verifique a contagem de linhas – entenda o tamanho de cada tabela.
  • Observe os valores mínimos e máximos – tenha uma noção dos intervalos de dados (por exemplo, datas mais antigas e mais recentes).
  • Analise a distribuição de valores – identifique duplicatas, valores ausentes ou outliers.
    Esboce seu próprio diagrama – mapeie as relações entre as tabelas para visualizar como o banco de dados se encaixa.

Se você quiser um passo a passo prático desse processo, leia Como explorar um banco de dados: o projeto Northwind, que mostra cada etapa em detalhes usando um conjunto de dados real.

Onde aprender:

Nosso curso Bancos de dados SQL para prática permite que você explore bancos de dados do mundo real com segurança. Não é um curso com exercícios — é uma área restrita com bancos de dados de amostra para você explorar. Você explorará a estrutura por conta própria, criará suas próprias perguntas e encontrará as respostas sozinho.

Se a exploração de bancos de dados parece intimidante, este curso eliminará completamente esse medo.

Tem medo de começar? Confira nossos cursos guiados na Trilha de Práticas em SQL. Eles incluem exercícios típicos em muitos bancos de dados. Quando se sentir mais confiante, volte ao curso Bancos de dados SQL para prática e explore livremente.

Encerrando o ano: por que essas cinco lições são importantes

Essas lições não são “legais de se ter”. Elas são os conceitos básicos que transformam você de um iniciante que consegue seguir instruções em um analista capaz de resolver problemas de forma independente.

Pense no que você ganha ao dominá-las:

  • Você pode combinar dados de várias fontes sem interromper as consultas.
  • Você pode analisar dados agrupados corretamente.
  • Você pode lidar com valores ausentes sem erros silenciosos.
  • Você pode usar subconsultas para responder a perguntas complexas com elegância.
  • Você pode explorar novos bancos de dados com confiança.

Essas são as habilidades que o tornam útil em qualquer equipe orientada a dados.

Como usar esta lista:

Não se apresse em aprender todas as cinco de uma vez. Escolha um conceito, dedique alguns dias a ele e pratique até que pareça natural. Depois, passe para o próximo. Se começar agora, poderá dominar confortavelmente todas as cinco antes do final do ano.

Até 31 de dezembro, você não apenas entenderá melhor o SQL, mas também o utilizará da mesma forma que os profissionais.

Termine com força

Você não precisa de uma resolução de Ano Novo para melhorar suas habilidades. Essas cinco lições são pequenas vitórias de alto impacto que a maioria dos alunos ignora — e é exatamente por isso que dominá-las agora lhe dá uma vantagem.

Se você quiser ter acesso a todos os cursos mencionados aqui, confira nosso Pacote Ilimitado Vitalício SQL. Ele inclui todos os cursos LearnSQL.com.bratuais e futuros em uma única compra — sem assinatura, sem validade. É o melhor valor a longo prazo para quem leva a sério o domínio do SQL.

Escolha uma lição, comece hoje mesmoLearnSQL.com.br e termine o ano sabendo que finalmente preencheu as lacunas que o impediam de avançar. Suas consultas futuras (e seu eu futuro) vão agradecer.