A maioria dos servidores de banco de dados relacionais modernos usam a Linguagem de Consulta Estruturada ou SQL , para adicionar, atualizar e informar sobre informações em bancos de dados. Instrução SELECT do SQL , usado para exibir dados , tem uma cláusula opcional chamado INNER JOIN. Ele conecta-se duas mesas juntas temporariamente em uma única unidade . SQL permite usar INNER JOIN de duas maneiras: de forma implícita, especificando as tabelas e explicitamente , incluindo as palavras " INNER JOIN " na sintaxe da instrução . Selecione
SQL , a instrução SELECT exibe listas com base em dados de um banco de dados. Por exemplo , para mostrar uma simples lista de clientes ordenados por nome , você pode usar o seguinte código SQL:
Selecione Customer_Number , nome, cidade, estado, zip_code DE clientes ORDER BY nome;
operação
Inner Join
uma junção conecta duas tabelas. A tabela de cliente , neste exemplo , pode ter um chamado sales_code campo que se refere aos registos correspondentes na tabela separada vendedor . Listar as informações do cliente eo nome do vendedor as seguintes declarações. O primeiro exemplo usa Cadastre implicitamente , a segunda , de forma explícita :
Selecione Customer_Number , nome, cidade, estado, zip_code , sales_name dos clientes, vendedor ONDE customers.sales_code = salesperson.sales_code ORDER BY nome;
Customer_Number SELECT, nome, cidade, estado, zip_code , sales_name DE clientes INNER JOIN ON vendedor customers.sales_code = salesperson.sales_code ORDER BY nome;
resultados
O INNER JOIN e implícitas juntar abordagens produzem os mesmos resultados. Ambos listar os mesmos registros classificados na mesma ordem . Quando você usa a sintaxe INNER JOIN , este instrui explicitamente SQL para conectar duas tabelas somente nos registros que eles têm em comum. Com a versão implícita , SQL assume que você deseja uma junção interna e conecta as mesas como se você tivesse especificado explicitamente.
Desempenho
A diferença de desempenho entre INNER JOIN e implícita juntar depende do servidor de banco de dados , como o DB2 da IBM ou Microsoft SQL Server . No caso do DB2, o INNER JOIN é cerca de um percent.faster . Antes que o servidor executa um SELECT, ele organiza a declaração em um plano, que é um conjunto de passos otimizados para coletar dados de forma eficiente. Os resultados esperados para ambas as abordagens são a mesma , de modo que o plano é geralmente quase a mesma . Desde DB2 mostra uma ligeira diferença de velocidade entre os dois métodos , os planos são provavelmente diferentes, mas apenas em formas menores.
Best Practice
A sintaxe INNER JOIN é uma nova abordagem , mais explícito para uma instrução SELECT. O desempenho do site SQL Server recomenda a sua utilização em relação ao método implícito mais velho , porque é mais claro. O formato faz implícita a cláusula WHERE executar direito duplo com associação de tabelas e avaliação de testes condicionais . O formato explícita mantém as duas tarefas separadas; INNER JOIN faz a união e onde os dados de testes para valores específicos
.