Join ou where?

4 respostas
luistiagos

ola qual a diferença de um join para um where na junção de tabelas?
qual tem mais performace? fazer joins com a clausula join ou com um where?

4 Respostas

nbluis

Diferença, diferença não tem.
Join, são SQL ANSI 1992, enquanto WHERE SQL ANSI 2003.

Para um banco como o oracle por exemplo, trabalhando com análise por custo, é tudo a mesma coisa na hora da execução.

É mais uma questão de preferência mesmo.
Eu particularmente ainda prefiro os JOINs pois acho mais organizado.

Mas, depende da preferência.

rafaelglauber

Se tiver usando somente o inner acredito realmente não ter diferença, porém simular o comportamento de um left join por exemplo através de subquery ou outros recursos acredito que vai gerar um SQL mais complicado de ser dar manutenção, logo, como o amigo falou acima, usar join deixa o SQL mais organizado!

Bani

Vale lembrar que, quando possível, você também pode usar IN, que pode ter uma performance melhor nesses casos.
Acho que os colegas acima só consideram o WHERE campo1 = campo2.

rafaelglauber

quando falei:

dei justamente um exemplo onde o join não é campo1 = campo2, acredito que não tenha sido claro. :smiley:

Criado 24 de outubro de 2007
Ultima resposta 24 de out. de 2007
Respostas 4
Participantes 4