Desmistificando o JOIN.

Um tutorial simples e objetivo para desconstruir nosso processo de desenvolvimento.

--

Antes de começar, saiba que você pode encontrar o script e o excel utilizados aqui no repositório do GitHub indicado no final do texto.

Neste post curto e objetivo, trago duas tabelas criadas no SQL Server, para realizarmos uma intersecção entre elas e mostrar seus respectivos dados.

No exemplo abaixo, criamos um cenário que contém os seguintes tópicos: eventos e tipos de eventos. Cada evento possuirá um tipo de evento (sem entrar no contexto da criação ou dos valores em si, mas sim no comando para realizar a intersecção).

Tabelas de Eventos e Tipos de Eventos.

Um mecanismo bem comum em bancos de dados relacionais é o de relacionar dados de duas ou mais tabelas, gerando algo semelhante com o apresentado abaixo:

Resultado final que será apresentado.
Modelo utilizado no excel.

Partindo desse ponto, quais são os dados que temos em comum entre as duas tabelas?

O tipoeventoid da tabela EVENTOSs e o tipoeventoid da tabela TIPOEVENTOS, correto?

Dados em comum entre as duas tabelas.

Vamos estabelecer uma comparação entre elas no código:

Colunas de comparação entre as duas tabelas.

Depois, é possível indicar que o primeiro tipoeventoid refere-se a tabela EVENTOS e o segundo refere-se a tabela TIPOEVENTOS (nota-se que, nesse cenário, não importa a ordem de comparação).

Identificando de quais tabelas as colunas se referem.

Logo em seguida, iremos identificar quais tabelas queremos fazer a seleção.

Colocando as tabelas.

No SQL, colocamos from na primeira tabela e (inner) join na segunda tabela, para então trazermos a intersecção entre elas, colocando on na frente da condição, como mostra o código:

Comandos SQL para as tabelas.

Na última parte desse processo, precisamos identificar quais dados das tabelas gostaríamos de mostrar e indicá-los na frente de um select. Por exemplo, como mostra o código abaixo, eu só quero o título da tabela EVENTOS (EVENTOS.TITULO) e o nome da tabela TIPOSEVENTOS (TIPOEVENTOS.NOME).

Selecionando as colunas para apresentação.

Em resumo:

Quais colunas apresentam os mesmos dados nas duas tabelas?

E elas pertencem à quais tabelas?

De qual (from ) e para qual (join) tabela queremos juntar os dados?

E quais campos queremos selecionar para serem exibidos?

Pronto! Essa seleção de dados resultará uma tabela assim:

Resultado final com a intersecção entre Eventos e Tipos de Eventos.

Achou muito verboso? Spoiler: tem como encurtar os nomes usando um recurso chamado “alias”, mas isso fica para um próximo post! Dá só uma olhada como ficaria o nosso select:

Todo o conteúdo utilizado neste post está disponível no GitHub. E, por favor, caso queira enviar alguma sugestão, deixe seu comentário ou envie uma dica. Ficarei muito grata.

Sign up to discover human stories that deepen your understanding of the world.

--

--

No responses yet

Write a response