Bê-á-bá do SQL: Usando JOIN para combinar tabelas

Bê-á-bá do SQL: Usando JOIN para combinar tabelas

Material de apoio:
1. Antes de iniciar esse tutorial, acesse a introdução da série de tutoriais clicando aqui, siga o passo a passo para usar a nossa plataforma interativa de SQL e pratique em tempo real.

Confira também os posts anteriores da série:
1. Introdução
2. Estrutura do SELECT
3. Filtrando valores com o WHERE
4. Agrupando valores com o GROUP BY
5. Usando ORDER BY e LIMIT

A função do JOIN no SQL é combinar duas tabelas através de alguma chave ou valor comum entre elas.

Existem diversos tipos de JOINs no SQL, no tutorial de hoje iremos falar sobre o INNER JOIN e o LEFT JOIN, que são os tipos mais usados.

Para os exemplos abaixo vamos considerar as tabelas "pessoas" e "dados_adicionais" do nosso banco de testes:

O atributo alt desta imagem está vazio. O nome do arquivo é image-1.png

Para combinar as duas tabelas em um JOIN é importante garantir que ambas tenham uma coluna em comum. No caso do nosso exemplo, a coluna "id" é a chave que será usada para cruzá-las.

Diferença entre INNER JOIN e LEFT JOIN

Enquanto o INNER JOIN combina todos os valores das duas tabelas e retorna no resultado somente as linhas presentes em ambas, o LEFT JOIN traz todas as linhas presentes na tabela 1 (ou tabela da esquerda) com os valores correspondentes da tabela 2.

Sintaxe básica do JOIN

INNER JOIN

SELECT p.id, p.nome, p.idade, d.estado_civil
FROM pessoas p
INNER JOIN dados_adicionais d ON p.id = d.id

No código acima estamos trazendo as colunas id, nome e idade da tabela "pessoas" e a coluna estado_civil da tabela "dados_adicionais".

A coluna id é a chave que estamos usando para cruzar as duas tabelas, neste caso, o resultado trará apenas ids que existam em ambas as tabelas.

Os alias "p" e "d" são importantes para identificar de qual tabela está vindo a determinada coluna.

LEFT JOIN

SELECT p.id, nome, idade, estado_civil
FROM pessoas p
LEFT JOIN dados_adicionais d ON p.id = d.id

No caso do exemplo acima, a sintaxe é bastante parecida com a do INNER JOIN, porém, no resultado virão todas as linhas da tabela "pessoas" com os valores correspondentes encontrados na tabela "dados adicionais".

Quando não houver correspondência na segunda tabela, a coluna estado_civil ficará em branco na determinada linha.

O que você achou do conteúdo?

Não deixe de conferir os post anteriores da nossa série de tutoriais e fique de olho no nosso blog para acompanhar os novos conteúdos!

A Kondado é uma plataforma que se conecta a mais de 80 fontes de dados sem você precisar escrever uma linha de código.

Com ela, você conecta e organiza seus dados e leva tudo direto para dashboards no Power BI ou no Looker Studio, de forma automática e confiável.

Além disso, a Kondado facilita a entrega dos dados para bancos de dados, data warehouses, data lakes e outros destinos, atualizando automaticamente as informações para facilitar suas análises.

Teste a Kondado grátis por 14 dias e veja na prática como é ganhar tempo com dados prontos para usar.

Perguntas frequentes

Qual a diferença entre INNER JOIN e LEFT JOIN no SQL?
O INNER JOIN retorna apenas as linhas que possuem correspondência em ambas as tabelas, ou seja, a chave de cruzamento precisa existir nas duas. Já o LEFT JOIN traz todas as linhas da tabela da esquerda e preenche com os valores correspondentes da tabela da direita quando existirem; quando não houver correspondência, o resultado aparece em branco (NULL).
Por que usar alias (apelidos) como 'p' e 'd' nas tabelas em um JOIN?
Os alias são importantes para identificar de qual tabela está vindo cada coluna, especialmente quando há colunas com o mesmo nome em ambas as tabelas (como o 'id' no exemplo). Eles deixam o código mais curto, legível e evitam ambiguidade na referência das colunas.
É necessário que as tabelas tenham uma coluna com o mesmo nome para fazer JOIN?
Não é obrigatório que os nomes sejam idênticos, mas é necessário que exista alguma chave ou valor comum entre as tabelas para realizar o cruzamento. No exemplo do artigo, ambas as tabelas possuem a coluna 'id', que serve como ponto de ligação, mas poderia ser qualquer outra coluna com valores correspondentes.
Como a Kondado pode ajudar se eu já uso SQL para análises?
A Kondado automatiza a integração de dados de mais de 80 fontes (CRMs, anúncios, e-commerce, bancos de dados) e entrega tudo pronto para seus destinos de análise. Isso elimina a necessidade de escrever código para extrair e organizar dados manualmente, permitindo que você foque diretamente nas consultas SQL e análises nos dashboards.
O que acontece quando não há correspondência no LEFT JOIN?
Quando não há correspondência na segunda tabela (tabela da direita), o LEFT JOIN ainda traz a linha da primeira tabela, mas as colunas da segunda tabela ficam com valores em branco (NULL). No exemplo do artigo, se uma pessoa não tiver registro em 'dados_adicionais', a coluna 'estado_civil' aparecerá vazia para essa linha.

Escrito por·Publicado em 2020-11-30·Atualizado em 2026-05-04