Banco de dados
Administração de Banco de Dados
INNER JOIN – SQL
O Inner Join tem como objetivo aglutinar duas ou mais tabelas mediante atributos comuns que estão presentes nas mesmas, onde para realizarmos esta junção, utilizamos as chaves primárias / estrangeiras . Dentre as vantagens de se utilizar o INNER JOIN, podemos considerar: 1. Sua sintaxe ser mais organizada e fácil de compreender; 2. Facilidade para se achar o melhor plano de ação para realizar consultas.
Sintaxe:
select from inner join on =
Para facilitar o entendimento, vamos utilizar um modelo do NORTHWIND para exemplificar alguns casos:
No modelo acima, vamos supor em fazer uma junção da tabela Category com a Product, para retornar no resultado alguns campos como CategoryID, CategoryName, Description, ProductID, ProductName e UnitPri
ce, onde
para
realizar
a
junção
da
tabela
vamos
utilizar
a
chave
primária CategoryID da tabela Category com a chave estrangeiraCategoryID da tabela Product. Podemos montar o JOIN de duas maneiras e ambas retornarão o mesmo resultado, mas acredito que o primeiro às vezes seja até o melhor a ser utilizado para auxiliar no entendimento de views grandes e complexas. VEJAMOS:
EXEMPLO 1 select Category.CategoryID,Category.CategoryName,Category.Description, Product.ProductID,Product.ProductName,Product.UnitPrice from Category inner join Product on (Category.CategoryID = Product.CategoryID)
EXEMPLO 2 select c.CategoryID, p.UnitPrice from Category c inner join Product p on (c.CategoryID = p.CategoryID)
c.CategoryName,
c.Description,
p.ProductID,
p.ProductName,
A diferença das duas queries apresentadas acima é que na primeira foi utilizado o nome da tabela seguido do ponto mais o campo desejado e no segundo exemplo utilizou-se um logo após as tabelas. Complementando estas queries, podemos acrescentar a cláusula where no final