quarta-feira, 10 de fevereiro de 2010

SQL Server - Utilizando INNER JOIN

INNER JOIN


O INNER JOIN é a operação que é mais utilizada dentro do SQL Server. Ele combina duas tabelas comparando os valores nas colunas comuns das tabelas em questão. Então as colunas que correspondem são retornadas para o conjunto de dados.

INNER JOIN também utiliza os operadores de comparação, por exemplo: = ou <>. Esses operadores manipulam os resultados retornados entre as duas tabelas e também são conhecidos como equi-joins ou natural joins.

Vejamos um exemplo de INNER JOIN:

FROM table_1 [INNER] JOIN table_2 ON table_1.column = table_2.column ON table_1.column = table_2.column

Como você pode ver a partir da sintaxe, INNER é opcional. Se você especificar apenas JOIN ele é processado como INNER JOIN por padrão.



Exemplos para o banco de dados AdventuresWorks

USE AdventureWorks
SELECT e.EmployeeID, e.ManagerID,
c.FirstName + ' ' + UPPER(c.LastName) AS Name, e.Title
FROM HumanResources.Employee AS e
INNER JOIN Person.Contact AS c
ON e.ContactID = c.ContactID


Considere os fatores abaixo para utilização de INNER JOIN
  • Se ambas as tabelas tiver colunas com o mesmo nome, é necessário especificar o nome da tabela. Ex: tabela1.coluna no Select. Caso contrário o SQL Server retornará um erro de nome de colunas.
  • Utilize WHERE para restringir as linhas que são retornados no conjunto de dados
  • Não utilize valor NULL na condição de JOIN, porque NULL não é avaliado igualmente com um outro.
  • Sob os termos ANSI, INNER JOIN também pode ser referido como NATURAL JOIN
Dica: Você pode utilizar AS depois do FROM para criar um alias para a tabela (como no exemplo acima).

Nenhum comentário:

Postar um comentário