none
INNER JOIN

    Question

  • Caso eu tenha duas tabelas e precise de um resultado baseado nas duas, queria saber qual a diferença em utilizar o comando inner join ou não(algum dos comandos esta errado?):

    exemplo:

    Considerando que a Tabela1 tem vendas dos produtos e a tabela 2 tem as fichas dos produtos, portanto há muitas ocorrencias na tabela1 para cada produto da tabela2

    Procurar na tabela2 os nomes dos produtos

    SELECT Quantidade Nome Tabela1.Codigo Tabela2.Codigo FROM Tabela1, Tabela2 WHERE Tabela1.Codigo  = Tabela2.Codigo ORDER BY Tabela1.Codigo

    OU

    SELECT Quantidade Nome Tabela1.Codigo Tabela2.Codigo FROM Tabela1 INNER JOIN Tabela2 ON Tabela1.Codigo = Tabela2.Codigo ORDER BY Tabela1.Codigo

    O resultado seria:

    CodigoProduto  nome quantidade

    Cumprimentos
    Elisa
    Thursday, April 09, 2009 9:20 PM

Answers

  • Elisa,
     

     Os dois comandos estão corretos.  Apenas o primeiro comando é da ANSI 86, e o segundo da ANSI 92.  Aconselho você utilizar o segundo, no fundo, o otimizador deve executar o mesmo plano de execução, mas ainda assim, aconselho o INNER JOIN, fica mais claro a visualização do seu select.

    Abraços
    Gilberto Neto
    Gilberto Neto Blog: http://gilberto-neto.spaces.live.com/default.aspx
    • Proposed as answer by Alex Rosa Thursday, April 09, 2009 10:13 PM
    • Marked as answer by Elisa Walk Tuesday, April 14, 2009 1:18 PM
    Thursday, April 09, 2009 9:26 PM