
Quando trabalhamos com SQL, entender os diferentes tipos de JOINs é essencial para manipular dados que estão distribuídos em múltiplas tabelas. Neste post, vamos explorar cada tipo de JOIN, explicando o que faz, como funciona e mostrando exemplos práticos. Vamos lá!
1. LEFT JOIN
Descrição: O LEFT JOIN
retorna todos os registros da tabela da esquerda e os registros correspondentes da tabela da direita. Se não houver correspondência, os resultados da tabela da direita serão NULL
.
Exemplo de Uso:
SELECT *
FROM TABLE_1
LEFT JOIN TABLE_2
ON TABLE_1.KEY = TABLE_2.KEY;
2. RIGHT JOIN
Descrição: O RIGHT JOIN
retorna todos os registros da tabela da direita e os registros correspondentes da tabela da esquerda. Se não houver correspondência na tabela da esquerda, os resultados serão NULL
.
Exemplo de Uso:
SELECT *
FROM TABLE_1
RIGHT JOIN TABLE_2
ON TABLE_1.KEY = TABLE_2.KEY;
3. OUTER JOIN (FULL OUTER JOIN)
Descrição: O FULL OUTER JOIN
retorna todos os registros quando há uma correspondência em uma das tabelas. Se não houver correspondência, os resultados serão NULL
.
Exemplo de Uso:
SELECT *
FROM TABLE_1
FULL OUTER JOIN TABLE_2
ON TABLE_1.KEY = TABLE_2.KEY;
4. INNER JOIN
Descrição: O INNER JOIN
retorna apenas os registros que têm correspondência em ambas as tabelas. É útil quando você quer encontrar apenas os registros que possuem um “match”.
Exemplo de Uso:
SELECT *
FROM TABLE_1
INNER JOIN TABLE_2
ON TABLE_1.KEY = TABLE_2.KEY;
5. ANTI LEFT JOIN
Descrição: O ANTI LEFT JOIN
retorna todos os registros da tabela da esquerda que não têm correspondência na tabela da direita.
Exemplo de Uso:
SELECT *
FROM TABLE_1
LEFT JOIN TABLE_2
ON TABLE_1.KEY = TABLE_2.KEY
WHERE TABLE_2.KEY IS NULL;
6. ANTI RIGHT JOIN
Descrição: O ANTI RIGHT JOIN
retorna todos os registros da tabela da direita que não têm correspondência na tabela da esquerda.
Exemplo de Uso:
SELECT *
FROM TABLE_1
RIGHT JOIN TABLE_2
ON TABLE_1.KEY = TABLE_2.KEY
WHERE TABLE_1.KEY IS NULL;
7. ANTI OUTER JOIN
Descrição: O ANTI OUTER JOIN
retorna todos os registros que são exclusivos de cada tabela, ou seja, registros que não têm correspondência na outra tabela.
Exemplo de Uso:
SELECT *
FROM TABLE_1
FULL OUTER JOIN TABLE_2
ON TABLE_1.KEY = TABLE_2.KEY
WHERE TABLE_1.KEY IS NULL OR TABLE_2.KEY IS NULL;
8. CROSS JOIN
Descrição: O CROSS JOIN
retorna o produto cartesiano de ambas as tabelas, ou seja, todas as combinações possíveis de registros entre as duas tabelas. Útil em situações onde você precisa combinar todas as possibilidades entre as tabelas.
Exemplo de Uso:
SELECT *
FROM TABLE_1
CROSS JOIN TABLE_2;
Conclusão
Compreender os diferentes tipos de JOINs em SQL é fundamental para trabalhar de forma eficaz com banco de dados relacionais. Cada tipo de JOIN atende a necessidades específicas, permitindo que você combine, filtre e analise dados de múltiplas tabelas de maneira eficiente. Experimente essas instruções em seus próprios projetos para ver a diferença que elas podem fazer na manipulação dos seus dados!
Se você gostou deste guia, compartilhe com seus amigos e colegas de trabalho para ajudá-los a entender melhor os JOINs em SQL. Até a próxima! 🚀