Ver um em SQL | Tipos de junções em SQL

Compartilhar no Facebook
Compartilhar no Twitter
Compartilhar no LinkedIn
Compartilhar no telegrama
Compartilhar no Whatsapp

Conteúdo

Introdução

SQL Joins pode ser um conceito complicado para iniciantes dominarem. Se você não estudou programação antes, você pode ter dificuldade em entender quais combinações estão em SQL e os diferentes tipos de sindicatos.

Mas como aspirante ou profissional de ciência de dados, você deve ter um conhecimento sólido do que são as junções SQL e como elas funcionam. Créame, você o usará muito se a indústria de ciência de dados rapidamente recuperar e manipular os dados presentes em diferentes tabelas.

join-sql-4406020

Neste artigo, vou mostrar que as junções sql são realmente fáceis de aprender. Primeiro entenderemos o que são junções SQL e, em seguida, examinaremos os quatro tipos diferentes de junções que você precisará dominar..

Você quer aprender o básico do que é SQL e como pode ser aplicado na ciência de dados? Olhe para o curso popular SQL para ciência de dados.

O que são junções SQL?

Vamos primeiro responder à pergunta de um milhão de dólares antes de examinar os diferentes tipos de junções no SQL.

Vou dar um exemplo intuitivo para explicar o que são junções SQL. Considere essas duas coleções:

1-5-300x153-2674159

Digamos que o círculo azul represente o conjunto de todos os filhos (CRIANÇAS) e o cinza representa o conjunto de pessoas que adoram ver Messi jogar (MESSI). Como eu agiria se quiséssemos o conjunto de todos os meninos que adoram ver o Messi jogar??

Existe uma maneira muito processual de abordar este problema:

  • Primeiro, selecione todos os diferentes identificadores da tabela de Messi que representam a consulta interna abaixo
  • Pegue cada ID do gráfico de meninos e compare-o com este conjunto.
  • Se o id corresponde a algum deles, em seguida, gere essa linha da tabela de meninos

Isso é bastante semelhante ao conceito de um 'for loop’ e é chamado de sub-seleção no SQL.

SELECIONE * A PARTIR DE RAPAZES
ONDE Eu iria É NO (SELECIONE DISTINTO Eu iria A PARTIR DE MESSI);

Mas em SQL, existe outra maneira de abordar este problema.

Para começar a entender as combinações, devemos primeiro ter uma perspectiva diferente sobre o que realmente queremos. Na terminologia estabelecida: nós queremos o interseção por BOYS e MESSI. Em termos gráficos, isso é expresso como:

img1-300x193-8693146

Estamos interessados ​​na parte celestial, verdade? Esta parte, o la interior papel (acompanhar), Eles são todos os meninos que adoram ver Messi. Tudo o que temos que fazer agora é expressar isso em SQL:

SELECIONE * A PARTIR DE RAPAZES
INTERNO JUNTE MESSI
SOBRE BOYS.id = MESSI.id;

Olha o que (interior) junte-se atrás? Não poderia ser mais fácil! Esta é a abordagem intuitiva de como entender as combinações.

Observação: Os diagramas de Venn não são aplicados diretamente ao SQL porque os elementos nas coleções (Tabelas) eles não são idênticos. Mas porque eles se referem um ao outro, podemos usar diagramas de Venn para entender melhor o conceito.

Diferentes tipos de junções em SQL

Agora. Vamos estender isso para o quadro geral e aprender sobre os diferentes tipos de junções SQL. Considere as seguintes tabelas de amostra:

selection_162-2674429

1. INNER JOIN em SQL

Isso é o que cobrimos na seção anterior. Inner Join retorna registros que possuem valores correspondentes em ambas as tabelas:

inner-300x237-1785551

Vamos ver qual é a saída usando o exemplo acima:

SELECIONE * A PARTIR DE RAPAZES INTERNO JUNTE MESSI
SOBRE BOYS.id = MESSI.id;

PRODUÇÃO:

selection_163-4866670

Como eu mencionei antes, junção interna fornece a interseção de duas tabelas, quer dizer, linhas que são comuns em ambas as tabelas.

2. JUNTA DIREITA (externo) e SQL

Suponha que queremos a identificação e o nome de todas as pessoas que adoram ver Messi jogar. Obviamente, existem muitas maneiras de escrever esta consulta, mas vamos entender isso com a ajuda dos sindicatos.
right-300x221-6808244

Vamos ver qual é o resultado:

SELECIONE  *  A PARTIR DE RAPAZES DIREITO JUNTE MESSI 
SOBRE BOYS.id = MESSI.id;

PRODUÇÃO:

selection_164-6575760

Você pode descobrir o que aconteceu aqui? A junção externa direita nos dá as linhas que são comuns em ambas as tabelas, bem como linhas adicionais da tabela de Messi que não estão presentes na interseção. Em outras palavras, uma junção à direita retorna todos os registros da tabela da direita e registros correspondentes da tabela da esquerda.

3. DEIXOU (Exterior) JOIN em SQL

Digamos que queremos a lista de todos os caras que amam assistir Messi jogar e não gostam de ver Messi jogar usando joins..

left-300x212-7384950

Eu quero que você adivinhe o resultado final antes de ler.

SELECIONE  *  A PARTIR DE RAPAZES DEIXOU JUNTE MESSI
SOBRE BOYS.id = MESSI.id;

PRODUÇÃO:

selection_165-1571438

A junção externa esquerda nos dá as linhas que são comuns em ambas as tabelas, bem como linhas adicionais da tabela Boys que não estão presentes na interseção. Em outras palavras, uma junção à esquerda retorna todos os registros da tabela à esquerda e os registros correspondentes da tabela à direita.

4. União completa (EXTERIOR) e SQL

Por último, digamos que queremos a lista de todas as pessoas, incluindo crianças que adoram assistir Messi brincar.

full-300x202-3724756

Tenho certeza que você já sabe a resposta agora!!

SELECIONE  *  A PARTIR DE RAPAZES EXTERIOR COMPLETO JUNTE MESSI
SOBRE BOYS.id = MESSI.id;

PRODUÇÃO:

selection_166-8467922

Perfeito! Uma junção externa completa nos dá as linhas que são comuns em ambas as tabelas, bem como linhas adicionais de ambas as tabelas que não estão presentes na interseção. Obtemos todos os registros quando há uma correspondência na tabela da esquerda ou da direita.

Notas finais

Quer aprender como o SQL pode ser usado na ciência de dados? Eu recomendo dar uma olhada neste curso incrível: Linguagem de consulta estruturada (SQL) para ciência de dados.

Se você tiver alguma pergunta ou comentário sobre este artigo, deixe-me saber na seção de comentários abaixo e terei prazer em entrar em contato com você.

Assine a nossa newsletter

Nós não enviaremos SPAM para você. Nós odiamos isso tanto quanto você.