
O que é JOIN no SQL? Guia para entender os principais tipos
| 10/09/26Entenda o que é JOIN no SQL, para que serve e quais são os principais tipos usados para relacionar tabelas em bancos de dados.
Entenda o que é JOIN no SQL, para que serve e quais são os principais tipos usados para relacionar tabelas em bancos de dados.
Em resumo:
Veja mais informações a seguir!

Quem começa a estudar SQL logo encontra um dos comandos mais importantes para trabalhar com bancos de dados: o JOIN.
Ele permite combinar informações que estão armazenadas em tabelas diferentes, usando uma coluna relacionada entre elas.
Na prática, o JOIN é utilizado quando os dados necessários para uma consulta não estão concentrados em uma única tabela. Em vez de duplicar informações, os bancos de dados costumam organizar os dados em tabelas relacionadas.
O JOIN permite recuperar essas informações em conjunto.
JOIN no SQL é uma operação utilizada para combinar dados de duas ou mais tabelas de um banco de dados.
A combinação normalmente acontece a partir de uma coluna que possui relação entre as tabelas.
Imagine um banco de dados de uma loja. Uma tabela pode armazenar informações sobre clientes e outra, os pedidos realizados por essas pessoas.
A tabela clientes pode ter:
| id | nome |
|---|---|
| 1 | Ana |
| 2 | Carlos |
| 3 | Marina |
Já a tabela pedidos pode apresentar:
| id | cliente_id | produto |
|---|---|---|
| 101 | 1 | Notebook |
| 102 | 2 | Celular |
| 103 | 1 | Monitor |
Nesse exemplo, a coluna id da tabela clientes está relacionada à coluna cliente_id da tabela pedidos.
Com um JOIN, é possível consultar os dados das duas tabelas e descobrir, por exemplo, qual cliente fez cada pedido.
O JOIN é utilizado principalmente para consultar informações relacionadas que estão distribuídas em diferentes tabelas.
Esse recurso é importante porque bancos de dados relacionais costumam organizar os dados em estruturas separadas.
Um sistema de vendas, por exemplo, pode ter tabelas específicas para:
Separar os dados evita a repetição desnecessária de informações e facilita a organização do banco de dados. O JOIN permite reunir essas informações quando uma consulta precisa analisá-las em conjunto.
Existem diferentes tipos de JOIN no SQL. A principal diferença entre eles está na maneira como cada comando trata os registros que possuem ou não correspondência entre as tabelas.
O INNER JOIN retorna apenas os registros que possuem correspondência nas duas tabelas.
Considere novamente as tabelas clientes e pedidos. Para listar somente os clientes que possuem pedidos, uma consulta pode ser escrita assim:
SELECT clientes.nome, pedidos.produto
FROM clientes
INNER JOIN pedidos
ON clientes.id = pedidos.cliente_id;
O resultado seria:
| nome | produto |
|---|---|
| Ana | Notebook |
| Carlos | Celular |
| Ana | Monitor |
A cliente Marina não aparece porque não existe um pedido relacionado ao seu id.
O LEFT JOIN retorna todos os registros da tabela que está à esquerda da consulta e, quando houver correspondência, os dados da tabela à direita.
Exemplo:
SELECT clientes.nome, pedidos.produto
FROM clientes
LEFT JOIN pedidos
ON clientes.id = pedidos.cliente_id;
Nesse caso, Marina também aparece no resultado. Como ela não possui um pedido relacionado, a coluna correspondente da tabela pedidos será apresentada como NULL.
Esse tipo de JOIN é útil quando a consulta precisa manter todos os registros da tabela principal, mesmo que não exista uma correspondência na outra tabela.
O RIGHT JOIN funciona de maneira semelhante ao LEFT JOIN, mas prioriza todos os registros da tabela que está à direita da consulta.
SELECT clientes.nome, pedidos.produto
FROM clientes
RIGHT JOIN pedidos
ON clientes.id = pedidos.cliente_id;
Assim, todos os registros de pedidos serão considerados, mesmo que algum deles não tenha uma correspondência na tabela clientes.
Na prática, o RIGHT JOIN aparece com menos frequência em muitos projetos, já que a mesma lógica pode ser obtida reorganizando as tabelas e utilizando um LEFT JOIN.
O FULL OUTER JOIN combina o comportamento dos dois lados. Ele retorna todos os registros das duas tabelas, independentemente de existir correspondência.
Quando não há correspondência, os campos da tabela que não possui aquele registro aparecem como NULL.
A sintaxe é:
SELECT clientes.nome, pedidos.produto
FROM clientes
FULL OUTER JOIN pedidos
ON clientes.id = pedidos.cliente_id;
Esse tipo de JOIN é útil para identificar tanto os registros que possuem correspondência quanto aqueles que existem somente em uma das tabelas.
É importante observar que a disponibilidade do FULL OUTER JOIN depende do sistema de gerenciamento de banco de dados utilizado.
O SQL também permite combinar mais de duas tabelas em uma mesma consulta.
Imagine um banco de dados com três tabelas:
clientes;pedidos;produtos.
Uma consulta pode utilizar JOINs sucessivos para relacionar as informações:
SELECT clientes.nome, produtos.nome
FROM clientes
INNER JOIN pedidos
ON clientes.id = pedidos.cliente_id
INNER JOIN produtos
ON pedidos.produto_id = produtos.id;
Nesse caso, a consulta relaciona clientes, pedidos e produtos para descobrir quais produtos foram associados aos pedidos de cada cliente.
A diferença está principalmente nos registros que cada tipo mantém no resultado.
| Tipo | O que retorna |
|---|---|
| INNER JOIN | Apenas registros com correspondência nas duas tabelas |
| LEFT JOIN | Todos os registros da tabela da esquerda e as correspondências da direita |
| RIGHT JOIN | Todos os registros da tabela da direita e as correspondências da esquerda |
| FULL OUTER JOIN | Todos os registros das duas tabelas, com ou sem correspondência |
Uma forma simples de memorizar é pensar em qual lado da relação precisa ser preservado.
Se a prioridade é manter todos os registros da primeira tabela, o LEFT JOIN pode ser adequado. Se a consulta precisa somente dos registros presentes nos dois lados, o INNER JOIN costuma ser a escolha.
Para entender JOIN, também é importante conhecer dois conceitos comuns em bancos de dados relacionais: chave primária e chave estrangeira.
A chave primária identifica de maneira única um registro dentro de uma tabela. Já a chave estrangeira é utilizada para estabelecer uma relação com outra tabela.
No exemplo dos clientes e pedidos:
clientes
id → chave primária
pedidos
cliente_id → chave estrangeira
A relação pode ser estabelecida pela condição:
ON clientes.id = pedidos.cliente_id
O ON informa ao SQL como as tabelas devem ser relacionadas.
A escolha depende do resultado que a consulta precisa produzir.
INNER JOIN: quando somente registros que possuem correspondência interessam.
LEFT JOIN: quando todos os registros da tabela principal precisam aparecer, mesmo sem correspondência.
RIGHT JOIN: quando todos os registros da tabela posicionada à direita precisam ser preservados.
FULL OUTER JOIN: quando é necessário considerar todos os registros das duas tabelas.
Para quem está começando, dominar primeiro o INNER JOIN e o LEFT JOIN costuma facilitar o entendimento das demais variações.
+ Curso de IA caro vale a pena? Veja onde estudar com preço justo
O JOIN está entre os recursos fundamentais para quem trabalha com bancos de dados e SQL. Consultas reais frequentemente precisam reunir informações armazenadas em diferentes tabelas.
Profissionais de análise de dados, desenvolvimento de software, engenharia de dados e administração de bancos de dados podem utilizar JOINs para consultar e cruzar informações.
Por isso, entender como as tabelas se relacionam é uma etapa importante para avançar no aprendizado de SQL.
+ O que é Business Intelligence e como ele se conecta à Ciência de Dados?
JOIN é um recurso do SQL utilizado para combinar dados de duas ou mais tabelas a partir de uma relação entre seus registros.
Os principais tipos são INNER JOIN, LEFT JOIN, RIGHT JOIN e FULL OUTER JOIN. Alguns sistemas também oferecem outras operações relacionadas, como CROSS JOIN.
O INNER JOIN retorna somente registros que possuem correspondência nas duas tabelas. O LEFT JOIN mantém todos os registros da tabela da esquerda, mesmo quando não existe correspondência na tabela da direita.
Não. Uma consulta SQL pode utilizar vários JOINs para relacionar três ou mais tabelas.
Não obrigatoriamente. O JOIN depende de uma condição de relacionamento definida na consulta. Porém, em bancos de dados relacionais, é comum que essa relação seja feita entre uma chave primária e uma chave estrangeira.
Para continuar estudando SQL, o próximo passo é praticar consultas com SELECT, WHERE, GROUP BY, ORDER BY e diferentes tipos de JOIN. Isso ajuda a entender como os comandos trabalham em conjunto para consultar dados em um banco de dados.
Aprofunde-se: Área de Dados sem faculdade: é possível conseguir emprego?
Se você quer ingressar ou crescer no mercado de tecnologia, a Allevo Tech oferece formações práticas em áreas de alta demanda, como Engenharia de Software, Ciência de Dados e Inteligência Artificial.
As trilhas são estruturadas para desenvolver competências técnicas e preparar você para os desafios do mercado de trabalho.
Clique no botão abaixo e conheça as formações da Allevo Tech que podem impulsionar a sua trajetória profissional.


Entenda o que é JOIN no SQL, para que serve e quais são os principais tipos usados para relacionar tabelas em bancos de dados.

Administração, Logística e Segurança do Trabalho estão entre as formações que desenvolvem competências utilizadas por empresas de diferentes segmentos

Aprenda como criar agentes de IA no ChatGPT, com instruções, arquivos de conhecimento, testes e configurações de visibilidade