Blog

Blog do SQL Arena

Tutoriais de SQL — explicações simples, exemplos variados do dia a dia e tabelas de antes e depois.

Fundamentos: SELECT e filtragem

4 artigos

Junção de tabelas (JOIN)

3 artigos

Agregação e agrupamento

2 artigos

Subconsultas e DISTINCT

4 artigos

O que é DISTINCT em SQL? Valores únicos para iniciantes

DISTINCT significa "remover duplicados". Em palavras simples: valores únicos de uma coluna ou de uma combinação de colunas, a diferença em relação ao GROUP BY, o tratamento de NULL e o DISTINCT ON específico do PostgreSQL para "uma linha por grupo". Com tabelas de antes/depois e erros comuns.

8 de mai. de 2026SQLDISTINCTtutorial

O que é IN com uma subconsulta em SQL? Verificação de pertencimento para iniciantes

IN com uma subconsulta filtra "linhas em que o valor de uma coluna aparece no resultado de outra consulta". Em palavras simples: filtrar por uma lista dinâmica, a diferença em relação a uma lista literal, a armadilha de NOT IN com NULL e a comparação com EXISTS. Com tabelas e erros comuns.

8 de mai. de 2026SQLINsubquerytutorial

O que é EXISTS em SQL? Verificação de existência para iniciantes

EXISTS pergunta "existe pelo menos uma linha que satisfaça a condição?". Em palavras simples: um filtro sobre a presença de um registro relacionado (por exemplo, "clientes com pelo menos um pedido"), a diferença em relação a IN com uma subconsulta, NOT EXISTS e o comportamento com NULL.

8 de mai. de 2026SQLEXISTSsubquerytutorial

O que é uma subconsulta escalar em SQL? Um único valor no SELECT para iniciantes

Uma subconsulta escalar é um SELECT que retorna exatamente um valor e se encaixa na posição de uma coluna ou em uma expressão WHERE. Em palavras simples: extrair um campo de uma tabela relacionada, adicionar um número de resumo a cada linha de um relatório, usá-la como constante em uma condição. Com tabelas e erros comuns.

8 de mai. de 2026SQLsubqueryscalartutorial

Funções de janela

5 artigos

O que é ROW_NUMBER no SQL? Numeração de linhas para iniciantes

ROW_NUMBER atribui "um número sequencial a cada linha". Em poucas palavras: a primeira função de janela que vale a pena aprender. Numeração decrescente, numeração dentro de grupos com PARTITION BY, o padrão clássico top-N por grupo e a remoção de duplicados. Com tabelas e erros comuns.

8 de mai. de 2026SQLROW_NUMBERwindowtutorial

O que são RANK e DENSE_RANK no SQL? Classificação com empates para iniciantes

RANK e DENSE_RANK são funções de classificação em que valores iguais recebem a mesma posição. Em poucas palavras: a diferença entre ROW_NUMBER (sempre único), RANK (os empates recebem a mesma posição e depois deixam lacunas) e DENSE_RANK (a mesma posição sem lacunas). Com tabelas, um exemplo de estilo olímpico e erros comuns.

8 de mai. de 2026SQLRANKDENSE_RANKwindow

O que é PARTITION BY no SQL? Grupos dentro de uma janela para iniciantes

PARTITION BY é a parte de OVER que divide as linhas em grupos para as funções de janela. Em poucas palavras: é como GROUP BY, mas as linhas não são colapsadas: cada linha é mantida, com o agregado do seu grupo adicionado. A diferença em relação ao GROUP BY, os padrões típicos e o comportamento dos agregados dentro das janelas.

8 de mai. de 2026SQLPARTITION BYwindowtutorial

O que são LAG e LEAD no SQL? Linhas vizinhas em uma janela para iniciantes

LAG e LEAD retornam o valor da linha **anterior** ou **seguinte** de uma janela. Em poucas palavras: variação dia a dia, tempo até o próximo evento, mudança de preço: tarefas que antes exigiam juntar uma tabela com ela mesma. Com tabelas e erros comuns.

8 de mai. de 2026SQLLAGLEADwindow

Funções de janela no SQL: ROW_NUMBER, RANK, LAG/LEAD na prática

As funções de janela são a ferramenta que um analista mais usa no SQL. Vamos destrinchar ROW_NUMBER, RANK, LAG/LEAD e PARTITION BY por meio de casos reais: top-N por grupo, métricas de um dia para o outro, somas acumuladas.

3 de mai. de 2026SQLwindow-functionstutorialanalytics

CTEs (WITH)

1 artigo

Alteração de dados (DML)

3 artigos

Estrutura (DDL)

2 artigos

Strings e datas

3 artigos

CASE e NULL

3 artigos

Outros

2 artigos