organizações estão gerando e analisando volumes incomparáveis de dados a cada minuto que passa. Neste artigo, vamos demonstrar como podemos empregar o SQL Inner Join para consultar e acessar dados de várias tabelas que armazenam esses dados incessantemente crescentes nas bases de dados SQL.

Junta SQL

Antes de começarmos com a Junta interna SQL, gostaria de chamar a junta SQL aqui., Join é a cláusula amplamente utilizada no servidor SQL essencialmente para combinar e recuperar dados de duas ou mais tabelas. Em um banco de dados relacional do mundo real, os dados estão estruturados em um grande número de tabelas e é por isso que há uma necessidade constante de se juntar a essas tabelas múltiplas baseadas em relações lógicas entre elas. Existem quatro tipos básicos de juntas no servidor SQL – Interior, Exterior (esquerda, direita, cheio), Auto e junção cruzada. Para obter uma visão geral rápida de todas estas junções, eu recomendaria passar por este link, SQL Join tipos visão geral e tutorial.,

Este artigo visa tudo sobre a junção interna no servidor SQL, por isso vamos até ele.

definição de junção interna SQL

cláusula de junção interna no servidor SQL cria uma nova tabela (não física) combinando linhas que têm valores correspondentes em duas ou mais tabelas. Esta junção é baseada em uma relação lógica (ou um campo comum) entre as tabelas e é usada para recuperar dados que aparecem em ambas as tabelas.

suponha que temos duas tabelas, tabela a e Tabela B, que gostaríamos de juntar usando SQL junção interna., O resultado desta junção será um novo conjunto de resultados que devolve linhas correspondentes em ambas as tabelas. A parte de intersecção em preto abaixo mostra os dados obtidos usando a junção interna no servidor SQL.

SQL Server Inner Join Syntax

Below is the basic syntax of Inner Join.

SELECT Column_list
FROM TABLE1
INNER JOIN TABLE2
ON Table1.ColName = Table2.ColName

Inner Join sintaxe basicamente compara as linhas do Quadro 1 com o quadro 2 para verificar se alguma coisa corresponde com base na condição fornecida na cláusula ON., Quando a condição de junção é cumprida, devolve as linhas correspondentes em ambas as tabelas com as colunas seleccionadas na cláusula de selecção.

SQL Inner Join clause is the same as Join clause and works the same way if we don’t specify the type (INNER) while using the Join clause. In short, Inner Join is the default keyword for Join and both can be used intercambiably.

Nota – usaremos a palavra-chave ‘Inner’ Join neste artigo para maior clareza. Você pode omiti-lo enquanto escreve suas consultas e pode usar apenas ‘Join’ também.,

SQL Inner Join in action

let’s try to understand the concept of Inner Join through an interesting data sample that deals with a Pizza Company and its food distribution. Vou criar duas mesas – primeira mesa “PizzaCompany” que gere diferentes ramos de Pizzarias em algumas cidades e mesa “Foods” que armazena detalhes de distribuição de alimentos em todas essas empresas. Você pode executar o código abaixo para criar e preencher dados nestas duas tabelas. Todos estes dados são hipotéticos e você pode criar em qualquer uma das suas bases de dados existentes.,

é assim que os dados na tabela PizzaCompany se parecem:

vamos criar e povoar a tabela alimentos agora. CompanyID nesta tabela é a chave estrangeira que está se referindo à chave primária da tabela PizzaCompany criada acima.a tabela seguinte mostra os dados da tabela “alimentos”. Esta mesa armazena informações como unidades vendidas por item de alimento e também a pizzaria (CompanyId) que a entrega.,

Agora, se nós gostaria de ver os itens e também as unidades vendidas por cada pizza da empresa, podemos combinar essas duas tabelas com a ajuda de uma cláusula inner join, a ser utilizado no campo CompanyId (no nosso caso, isso compartilha uma relação de chave estrangeira).

abaixo está o conjunto de resultados da consulta de junção interna SQL acima. Para cada linha na PizzaCompany table, a junção interna compara e encontra as linhas correspondentes nos alimentos table e devolve todas as linhas correspondentes como mostrado abaixo. E se você notar, CompanyId = 5 é excluído do resultado da consulta, uma vez que não faz uma correspondência na tabela de alimentos.,

com a ajuda do conjunto de resultados acima, podemos fazer os itens e também a contagem de itens entregues por pizzarias em várias cidades. Por exemplo, o dominó fez uma entrega de 7 pães e 11 Piza média em Los Angeles.

SQL Inner Join em três tabelas

Vamos explorar mais esta junção, e suponha que três parques aquáticos (parece verão) ter aberto no estado e estes parques aquáticos terceirizar a comida da pizza estabelecimentos mencionados na tabela PizzaCompany.,

eu vou rapidamente criar um Parque Aquático de mesa e carregar alguns dados arbitrários nele, como mostrado abaixo.

e Abaixo está a saída deste quadro.

omo diz o ditado, A imagem vale mil palavras. Vamos ver rapidamente o diagrama de banco de dados dessas três tabelas com suas relações para entendê-las melhor.

Agora vamos incluir esta terceira tabela na cláusula de junção interna SQL para ver como ela vai impactar o conjunto de resultados., Por dados na tabela WaterPark, os três waterparks têm terceirizado alimentos de todas as empresas de Pizza, mas Pizzeria (Id=6) e Chuck E cheese (Id = 7). Execute o código abaixo para ver toda a distribuição de alimentos através dos parques aquáticos pelas pizzarias.

1
2
3
4

SELECIONE pz.Companhia, pz.Companhia, pz.CompanyId como PizzaCompanyId, F.,CompanyID AS FoodsCompanyId, F. ItemName, F. UnitsSold
da PizzaCompany pz
INNER JOIN Foods f
na pz.CompanyId = F. CompanyId

1
2
3
4
5
6

SELECIONE pz.CompanyId, pz.Companhia, pz.CompanyName, F. ItemName, F.,UnitsSold,
w WaterParkLocation
de PizzaCompany pz
INNER JOIN Foods F ON pz.CompanyId = F. CompanyId
INNER JOIN WaterPark w ON W. CompanyId = pz.CompanyId
ordem por pz.CompanyId

a partir de CompanyId, de Associação Interna do SQL corresponde a linhas de ambas as tabelas, PizzaCompany (Tabela 1) e Alimentos (Tabela 2) e, posteriormente, procura por uma correspondência no parque Aquático (Tabela 3) para retornar linhas., Como se pode ver a seguir, com a adição da junção interna no WaterPark, o CompanyId [6,7 (com excepção de 5)] também é excluído do resultado final definido como condição w.CompanyId = pz.A CompanyId não está satisfeita com Ids (6,7). É assim que a junção interna SQL ajuda a retornar linhas específicas de dados de várias tabelas.

Let’s dig into SQL Inner Join more with a few more T-SQL clauses.

usando com a junção interna

podemos filtrar registos com base numa condição especificada quando a junção interna SQL é usada com uma cláusula onde., Suponha que gostaríamos de obter as linhas onde as unidades vendidas eram mais de 6.

na seguinte consulta, a cláusula onde é adicionada para extrair resultados com valor superior a 6 para as unidades vendidas.

Execute o código acima em SSMS para ver o resultado abaixo. Quatro desses registros são retornados por esta consulta.

usar o grupo com junção interna

SQL Inner Join permite-nos usar Grupo por cláusula, juntamente com funções agregadas para agrupar o resultado definido por uma ou mais colunas., Grupo por trabalhos convencionalmente com junção interna no resultado final retornado depois de unir duas ou mais tabelas. Se você não está familiarizado com o grupo por cláusula em SQL, eu sugeriria passar por isso para ter uma compreensão rápida deste conceito. Abaixo está o código que faz uso de grupo por cláusula com a junção interna.

1
2
3
4
5

SELECIONE pz.CompanyId, pz.Companhia, pz.Nome da empresa, f. ItemName, F. UnitsSold
da PizzaCompany pz
NNER JOIN Foods F ON pz.,CompanyId = F. CompanyId
WHERE F. UnitsSold > 6
ordem por pz.CompanyCity

Aqui, pretendemos obter itens totais vendidos por cada Pizzaria presente na cidade. Como você pode ver abaixo, o resultado agregado em coluna “totalquantitysold” como 18 (7+11) e 9 (6+3) para Los Angeles e San Diego, respectivamente, é calculado.,

Uma nota breve sobre a Equi e Theta Join

Antes de concluir este artigo, vamos rapidamente passar de termos, um SQL developer pode ouvir esporadicamente – Equi e Theta Join.

Equi Join

como o nome sugere, equi join contém um operador de igualdade ‘ = ‘ na cláusula de junção ou na condição de onde. SQL Inner, Left, Right are all equi joins when ‘ = ‘ operator is being used as a comparison operator., Normalmente, quando há uma menção de junção interna SQL, é considerado como uma junção equi Interna, em uma situação incomum apenas, operador de igualdade não é usado.

para tornar as coisas mais fáceis, vou me referir a AdventureWorksDW2017 sample database e disparar uma consulta contra as tabelas existentes para demonstrar como equi join se parece.

1
2
3
4
5

SELECIONE pz.Companhia, pz.,Nome da empresa, soma (F. UnitsSold) como TotalQuantitySold
da PizzaCompany pz
alimentos para juntas interiores F na pz.CompanyId = F. CompanyId
grupo por pz.Companhia, pz.CompanyName
ordem por pz.Empresa
1
2
3
4

SELECIONE e.EmployeeKey, e.,FirstName, E. Title, E. HireDate,
fs.SalesAmountQuota DE DimEmployee e
INNER JOIN FactSalesQuota fs
NA e.EmployeeKey = fs.EmployeeKey

Theta Join (Non-equi join)

Non-equi join é basicamente o oposto do equi-join e é usado quando nos unimos em uma condição diferente ‘=’ operador. Este tipo raramente é usado na prática., Below is an example that makes use of theta join with an inequality operator (<) to evaluate profit by estimating cost and selling prices in two tables.

1
SELECT * FROM Table1 T1, Table2 T2 WHERE T1.ProductCost < T2.,SalesPrice

Conclusão

espero que este artigo sobre ‘SQL Inner Join’ fornece uma compreensível abordagem para um dos mais importantes e mais frequentemente usadas as cláusulas de “Inner join” no SQL Server para combinar várias tabelas. Caso você tenha alguma dúvida, por favor, sinta-se livre para fazer na seção de comentários abaixo.,

Para continuar a sua aprendizagem em SQL Joins, você pode consultar abaixo os posts:

  • SQL OUTER JOIN visão geral e exemplos
  • SQL Join introdução e visão geral
  • Autor
  • Posts Recentes
Gauri é um Profissional de SQL Server e tem 6 anos de experiência de trabalhar com a global multinacional de consultoria e tecnologia de organizações., Ela é muito apaixonada por trabalhar em temas de servidores SQL como Azure SQL Database, SQL Server Reporting Services, R, Python, Power BI, Database engine, etc. Ela tem anos de experiência em documentação técnica e gosta de criação de tecnologia.ela tem uma profunda experiência em projetar soluções de dados e análises e garantir sua estabilidade, confiabilidade e desempenho. Ela também é certificada no SQL Server e passou certificações como 70-463: implementando armazéns de dados com o Microsoft SQL Server.,
Ver todos os posts por Gauri Mahajan

posts mais Recentes por Gauri Mahajan (ver todas)
  • Explorar o Azure Análise do Modelo de Serviços de Dados e de 4 de fevereiro de 2021
  • primeiros passos com o Azure Analysis Services – 13 de janeiro de 2021
  • Ligar Azure Databricks de dados para Alimentação BI ambiente de Trabalho – junho 1, 2020

Previous

Tao-te Ching (Português)

Next

Aprendendo a viver com Bobcats

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *