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
2. Participe do nosso canal do slack, onde você poderá tirar dúvidas sobre os tutoriais e também acessar conteúdo exclusivo do universo de dados, clicando aqui
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:


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.

Não deixe de conferir os post anteriores da nossa série de tutoriais, e fique de olho no nosso blog para acompanhar os próximos!
E para testar a plataforma Kondado gratuitamente por 14 dias, basta clicar no link abaixo:
Publicado em 2020-11-30