Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Select entre duas tabelas

Boa tarde,

Gostaria de saber qual a diferença entre os dois select listados:

1- select from compras join compradores on compras.comprador_id=compradores.id; 2-select from compras a, compradores b where a.comprador_id=b.id;

Ambos trás o mesmo resultado, porém gostaria de saber se poderia ser utilizado como uma solução de um join ou se não seria bom utilizar esta forma.

Att

4 respostas

Opa Ricardo, eu e pesquisa que fiz acham que não tem diferença mesmo. São apenas jeitos diferentes de fazer a mesma coisa. De todo jeito, vou ficar de olho para ver se alguém mais especializado em banco sabe de algo.

solução!

Não há diferença, o comportamento será o mesmo. A diferença é que a sintaxe dos JOINs é um padrão ANSI, e é suportada por todos os SGBDs, já a junção condicional no WHERE não é padronizada. Ou seja, em algumas distribuições como no SQL Server, eu posso fazer um OUTER JOIN utilizando o operador *=, no Sysbase esse mesmo operador executa um LEFT JOIN, já no MySQL iria acusar um erro de sintaxe.

Ainda bem que fiquei de observador! Obrigado Gabriel!

Obrigado pela resposta Gabriel e Alberto.