NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!

UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI

Você está em: PrincipalArtigosSQL Server 2005 › Capítulo 10 : 23
Quer receber novidades e e-books gratuitos?
« Lição anterior Curso Completo de SQL Server 2005 - Júlio Battisti Δ Página principal Curso Completo de SQL Server 2005 - Júlio Battisti ¤ Capítulos Curso Completo de SQL Server 2005 - Júlio Battisti Próxima lição »
SQL Server 2005 - CURSO COMPLETO
Autor: Júlio Battisti
Lição 178 - Capítulo 10 - Tipos de Join

Existem três tipos de Join, conforme listado a seguir:

  • INNER JOIN: Este é o Join padrão, isto é, se não especificarmos o tipo a ser utilizado, será utilizado um INNER JOIN. A característica do INNER JOIN é que somente são retornados os registros que têm valores coincidentes nas duas ou mais tabelas, relacionadas através de uma ou mais cláusulas JOIN. Por exemplo, se tivermos um INNER JOIN ligando as tabelas Clientes e Pedidos, somente serão retornados os registros para os clientes que têm algum pedido na tabela Pedidos. Clientes que não efetuaram pedidos (portanto, não tem registros coincidentes na tabela Pedidos), não farão parte do resultado da operação INNER JOIN. A seguir, um exemplo de utilização de um INNER JOIN, entre as tabelas Clientes e Pedidos:

SELECT   [Clientes].[CódigoDoCliente], [Clientes].[NomeDaEmpresa],
         [Clientes].[Cidade],[Pedidos].[NúmeroDoPedido], [Pedidos].[DataDoPedido]
FROM     [Clientes] INNER JOIN [Pedidos]
         ON [Clientes].[CódigoDoCliente]= [Pedidos].[CódigoDoCliente]

Este comando retorna todos os clientes que têm pedidos e os respectivos pedidos. Se um cliente tiver dez pedidos, retornarão dez registros para este cliente, um para cada pedido. Clientes que não tem pedido, não aparecerão na listagem.

  • LEFT OUTER JOIN: Este tipo retorna todos os registros da primeira tabela e os registros relacionados da segunda tabela. No nosso exemplo, na listagem anterior, se trocarmos o INNER JOIN por um LEFT OUTER JOIN, serão retornados todos os Clientes e os pedidos relacionados, e também os clientes que não possuem pedidos. Para os que não possuem pedidos, os campos NúmeroDoPedido e DataDoPedido terão o valor Null. A seguir, temos o comando que utiliza um LEFT OUTER JOIN:

SELECT   [Clientes].[CódigoDoCliente], [Clientes].[NomeDaEmpresa],
         [Clientes].[Cidade],[Pedidos].[NúmeroDoPedido], [Pedidos].[DataDoPedido]
FROM     [Clientes] INNER JOIN [Pedidos]
         ON [Clientes].[CódigoDoCliente]= [Pedidos].[CódigoDoCliente]
         ORDER BY [Clientes].[CódigoDoCliente]

Na Figura 10.21, podemos observar que foram retornados inclusive os clientes que não possuem pedidos, o que é indicado pelos valores NULL nos campos NúmeroDoPedido e DataDoPedido.

Se você utilizar o Banco de Dados NwindAccess, o qual importamos para o SQL SERVER 2005 em um exemplo anterior, serão retornados todos os clientes, pois existem pedidos para todos. Para poder exemplificar neste exercício, eu excluí os pedidos para os clientes com os seguintes códigos:

ALFKI
ANATR
ANTON
AROUT

Curso Completo de SQL Server 2005 - Júlio Battisti
Figura 10.10 - Utilizando LEFT OUTER JOIN.

  • RIGHT OUTER JOIN: Este tipo retorna todos os registros da segunda tabela e os registros relacionados da primeira tabela. Um exemplo de RIGHT OUTER JOIN:

SELECT   [Clientes].[CódigoDoCliente], [Clientes].[NomeDaEmpresa],
         [Clientes].[Cidade],[Pedidos].[NúmeroDoPedido], [Pedidos].[DataDoPedido]
FROM     [Clientes] RIGHT OUTER JOIN [Pedidos]
         ON [Clientes].[CódigoDoCliente]= [Pedidos].[CódigoDoCliente]
         ORDER BY [Clientes].[CódigoDoCliente]

Na Figura 10.11, podemos observar que foram retornados todos os pedidos da tabela pedidos, e apenas os clientes que possuem pedidos, isto é, todos os registros da segunda tabela (Pedidos) e apenas os registros relacionados da primeira tabela (Clientes).

Curso Completo de SQL Server 2005 - Júlio Battisti
Figura 10.11 Utilizando RIGHT OUTER JOIN.

« Lição anterior Curso Completo de SQL Server 2005 - Júlio Battisti Δ Página principal Curso Completo de SQL Server 2005 - Júlio Battisti ¤ Capítulos Curso Completo de SQL Server 2005 - Júlio Battisti Próxima lição »

você conhece a universidade do access?

Universidade do Access - Curso Completo de Access
com tudo para você dominar o Access - do Básico ao
Avançado - até a Criação de Sistemas Profissionais
Completos - Passo a Passo - Tela a Tela

Aplica-se ao Access 2019, 2016, 2013 e 2010!

13 Cursos - 574 Vídeo-Aulas - 63:32 horas

Para todos os detalhes, acesse:

https://juliobattisti.com.br/universidade-do-access.asp

Quer receber novidades e e-books gratuitos?

Cursos Online

  • Banco de Dados
  • Carreira
  • Criação/Web
  • Excel/Projetos
  • Formação
  • + Todas as categorias
  • Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434

    Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208

    Todos os direitos reservados, Júlio Battisti 2001-2019 ®

    [LIVRO]: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2010 - PASSO-A-PASSO

    APRENDA COM JULIO BATTISTI - 1124 PÁGINAS: CLIQUE AQUI