Avalados por :

Diferença entre Inner Join e Left Outer Join: Exemplos e Quando Utilizá-los

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 13 Vistas
0
Cargando...

Olá a todos,

Alguém pode me explicar a diferença entre um inner join e um left outer join com um exemplo?

E quando devemos usar um left outer join?

Saudações,

haritha

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Olá,

A diferença entre inner join e outer join é:

Inner join significa que seleciona apenas os mesmos dados em ambas as tabelas.

Outer join significa que primeiro seleciona os mesmos dados e depois seleciona dados diferentes de ambas as tabelas.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Simples e direto.

Obrigado.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá, Haritha,

Usando Joins, podemos selecionar dados de duas tabelas com a palavra-chave JOIN, como mostrado abaixo:

Exemplo INNER JOIN

Sintaxe

SELECT campo1, campo2, campo3

FROM primeira_tabela

INNER JOIN segunda_tabela

ON primeira_tabela.campo_chave = segunda_tabela.campo_chave_externa

Quem ordenou um produto e o que foi ordenado?

SELECT Funcionários.Nome, Pedidos.Produto

FROM Funcionários

INNER JOIN Pedidos

ON Funcionários.ID_Funcionário = Pedidos.ID_Funcionário

O INNER JOIN retorna todas as linhas de ambas as tabelas onde há uma correspondência. Se houver linhas em Funcionários sem correspondências em Pedidos, essas linhas não serão listadas.

Resultado

Nome Produto

Hansen, Ola Impressora

Svendson, Stephen Mesa

Svendson, Stephen Cadeira

Exemplo LEFT JOIN

Sintaxe

SELECT campo1, campo2, campo3

FROM primeira_tabela

LEFT JOIN segunda_tabela

ON primeira_tabela.campo_chave = segunda_tabela.campo_chave_externa

Listar todos os funcionários e seus pedidos, se tiverem.

SELECT Funcionários.Nome, Pedidos.Produto

FROM Funcionários

LEFT JOIN Pedidos

ON Funcionários.ID_Funcionário = Pedidos.ID_Funcionário

O LEFT JOIN retorna todas as linhas da primeira tabela (Funcionários), mesmo se não houver correspondências na segunda tabela (Pedidos). Se houver linhas em Funcionários sem correspondências em Pedidos, essas linhas também serão listadas.

Resultado

Nome Produto

Hansen, Ola Impressora

Svendson, Tove

Svendson, Stephen Mesa

Svendson, Stephen Cadeira

Pettersen, Kari

Exemplo RIGHT JOIN

Sintaxe

SELECT campo1, campo2, campo3

FROM primeira_tabela

RIGHT JOIN segunda_tabela

ON primeira_tabela.campo_chave = segunda_tabela.campo_chave_externa

Listar todos os pedidos e quem os fez, se houver.

SELECT Funcionários.Nome, Pedidos.Produto

FROM Funcionários

RIGHT JOIN Pedidos

ON Funcionários.ID_Funcionário = Pedidos.ID_Funcionário

O RIGHT JOIN retorna todas as linhas da segunda tabela (Pedidos), mesmo se não houver correspondências na primeira tabela (Funcionários). Se houver linhas em Pedidos sem correspondências em Funcionários, essas linhas também seriam listadas.

Resultado

Nome Produto

Hansen, Ola Impressora

Svendson, Stephen Mesa

Svendson, Stephen Cadeira

Exemplo

Quem pediu uma impressora?

SELECT Funcionários.Nome

FROM Funcionários

INNER JOIN Pedidos

ON Funcionários.ID_Funcionário = Pedidos.ID_Funcionário

WHERE Pedidos.Produto = 'Impressora'

Obrigado,

Saudações.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá, Haritha

espero que isso te ajude.

Por favor, recompense se ajudar.

Joins são usados para buscar dados rapidamente em tabelas de banco de dados:

As tabelas são unidas com os campos de chave apropriados para buscar os dados corretamente.

Se não houver campos de chave apropriados entre as tabelas, não use Joins;

A coisa importante é não USAR JOINS PARA tabelas CLUSTER como BSEG e KONV.

Use apenas para tabelas Transparentes.

Você também pode usar joins para as Visualizações de banco de dados para buscar os dados.

JOINS

... DE tabref1 [INNER] JOIN tabref2 ON cond

Efeito

Os dados devem ser selecionados de tabelas transparentes de banco de dados e/ou visualizações determinadas por tabref1 e tabref2. tabref1 e tabref2 têm a mesma forma que na variante 1 ou são eles próprios expressões de Join. A palavra-chave INNER não precisa ser especificada. As tabelas de banco de dados ou visualizações determinadas por tabref1 e tabref2 devem ser reconhecidas pelo Dicionário ABAP.

Em uma estrutura de dados relacional, é bastante normal que dados que pertencem juntos sejam divididos em várias tabelas para ajudar o processo de padronização (consulte bancos de dados relacionais). Para agrupar essas informações em uma consulta de banco de dados, você pode vincular tabelas usando o comando join. Isso formula condições para as colunas nas tabelas envolvidas. O inner join contém todas as combinações de linhas da tabela de banco de dados determinada por tabref1 com linhas da tabela determinada por tabref2, cujos valores juntos atendem à condição lógica (condição de junção) especificada usando ON>cond.

Inner join entre tabela 1 e tabela 2, onde a coluna D em ambas as tabelas na condição de junção é definida da mesma forma:

Tabela 1 Tabela 2










Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?