Tipos de junções no SQL Server - As 5 principais junções no SQL Server com exemplos

Índice:

Anonim

Visão geral dos tipos de junções no SQL Server

A cláusula Join, a palavra-chave JOIN, mescla várias tabelas em um conjunto de resultados. A cláusula FROM precisará incluir todas as tabelas. Separa cada tabela com uma cláusula WHERE de vírgula normalmente incluída.

Podemos colocar a expressão booleana que retorna true ou false, e essas expressões podem se referir a colunas em todas as tabelas.

Tipos de junções no SQL Server

Existem diferentes tipos de junções

  • CROSS JOIN
  • JUNÇÃO INTERNA
  • JUNÇÃO EXTERNA
  1. JUNTA EXTERNA ESQUERDA
  2. JUNÇÃO EXTERNA DIREITA
  • JUNÇÃO EXTERNA COMPLETA
  • AUTO-JUNÇÃO

Vamos entender cada uma dessas junções em detalhes:

1) Junção cruzada

  • Este é o JOIN mais simples
  • Retorna todas as linhas das duas tabelas
  • Cláusula WHERE
  • Este também é o menos útil
  • É muito ineficiente
  • Cria um produto cartesiano
  • Palavra-chave CROSS implícita

Exemplo

Portanto, todo mundo da primeira tabela com todos os dados da segunda tabela sem nenhuma tentativa de correspondência, portanto, é isso que você não deseja fazer.

Procure a cláusula FROM em que você possui várias tabelas e não há cláusula WHERE.

2) Junção interna

Saída da consulta:

Suas linhas inicial e última têm valores de coordenação envolvidos com C2. As linhas centrais geralmente não se encontram. O último resultado final fornece todos os valores através das linhas inicial e final, mas ainda não inclui essa linha da seção intermediária não correspondente.

  • Isso é mais típico
  • Isso enfatizou a natureza relacional do banco de dados
  • Ele nos permite corresponder o valor da coluna em uma das tabelas ao valor da coluna em outra das tabelas.
  • A chave primária em uma das tabelas e uma chave estrangeira em uma das outras tabelas.

Exemplo

Aqui p.person_id é nossa chave primária em nossa tabela de pessoas,

email_address_person_id é a nossa chave estrangeira na tabela de endereços de email.

Vamos dar uma olhada na mesa da pessoa

Temos essas quatro linhas. E então todas as correspondências dentro da tabela de endereço de email.

Então, no final, devemos ter três pessoas porque temos a pessoa Shannon que não tem um endereço de email

Saída da consulta:

Portanto, obtemos apenas os dados onde há uma correspondência entre as duas colunas em cada uma das tabelas

3) Junção externa

  • O INNER JOIN não lida com valores NULL
  • A junção externa funciona mesmo quando não há correspondência na segunda tabela.
  • NULL colunas se nenhuma correspondência na segunda tabela
  • JOIN EXTERNO COMPLETO retorna todas as linhas unidas
  • NULL quando nenhuma correspondência nas duas tabelas

a) Junção externa esquerda

Saída da consulta: Você é inicial e também, as últimas linhas têm valores de coordenação envolvidos com C2. As linhas centrais geralmente não se encontram. O último resultado final pode manter todas as linhas da primeira tabela, mas na verdade deixará de fora a linha não correspondida na segunda tabela.

  • Outro JOIN relacionado a NULL
  • Todas as linhas do lado esquerdo serão retornadas
  • NULL para tabela do lado direito não correspondente

Exemplo

Saída da consulta:

Você percebe que há uma linha na tabela Pessoa que não possui valores na tabela de endereço de email. Portanto, a junção externa esquerda nos dará.

b) Junção externa direita

Saída da consulta:

Você é inicial e também, as últimas linhas têm valores de coordenação envolvidos com C2. As linhas centrais geralmente não se encontram. O último resultado final pode manter todas as linhas da segunda tabela, mas na verdade deixará de fora a linha sem correspondência pela primeira tabela.

  • Oposto à junção externa esquerda
  • Todas as linhas do lado direito serão retornadas
  • NULL para uma tabela do lado esquerdo não correspondente

Exemplo Saída da consulta:

Temos três resultados. Aqui está nosso resultado RIGHT OUTER JOIN, onde temos a linha da tabela de endereços de email que não possui uma linha correspondente na tabela à direita.

4) Junção externa completa

Exemplo

Saída da consulta:

Combinamos o resultado da junção externa esquerda e união externa direita

5) Auto-junção

  • SELF não é uma palavra-chave. É justamente essa ideia que você pode fazer uma mesa sozinha
  • Estranho, mas às vezes útil
  • Nenhuma sintaxe especial
  • A mesma tabela no lado esquerdo e direito de JOIN
  • Útil quando uma tabela contém dados hierárquicos

Exemplo

SELECT *

FROM pedidos

JOIN inscrições

ON orders.subscription_id = subscriptions.subscription_id;

Obtemos a tabela de pedidos e a tabela de assinaturas e JOIN na tabela usando SELECT todas as colunas.

Para obter o resultado.

Conclusão:

As junções são a maneira pela qual realmente damos vida ao modelo relacional. O modelo relacional é sobre a separação de dados, normalizada em várias tabelas, mas capaz de reuni-los novamente quando queremos ver esses relacionamentos. E os diferentes tipos de junções nos permitem fazer isso de maneiras ligeiramente diferentes.

Artigos recomendados

Este foi um guia para tipos de junções no servidor SQL. Aqui discutimos a visão geral e os tipos de junções no SQL com seus exemplos. Você também pode consultar nossos outros artigos sugeridos para saber mais -

  1. O que é o SQL Server?
  2. Carreiras no SQL Server
  3. Treinamento PL SQL
  4. Operadores MySQL
  5. Os 6 principais tipos de junções no MySQL com exemplos