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?
Join ou where?
4 Respostas
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.
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!
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.
quando falei:
dei justamente um exemplo onde o join não é campo1 = campo2, acredito que não tenha sido claro. 