[firebase-br] Inner Join x Where

Marcelo Silva marcvan em ig.com.br
Qui Jun 29 11:29:17 -03 2006


Não seria bem vantagens ou não... é que cada um foi criado para uma coisa

Where seria condições de pesquisa
Join seria a "união" entre tabelas com condições em/ou não em comum

Exemplo

Voce NÃO pode fazer

SELECT * FROM TABELA1 INNER JOIN TABELA1 ON(CAMPO = ?)
// Veja que estou usando a mesma tabela

Mas voce pode fazer

SELECT * FROM TABELA WHERE (CAMPO = ?)

Agora voce pode "juntar" dados de tabelas diferentes com Join com mais 
eficiencia do que Where

Exemplo:

SELECT C.COD_CLI, C.NOME, I.ITEN_DESCRICAO FROM TB_CLIENTES C
INNER JOIN TB_ITENS I ON(I.COD_CLI = C.COD_CLI)

Se fosse fazer isso com Where sairia uma salada :)

SELECT C.COD_CLI, C.NOME, I.ITEN_DESCRICAO FROM CLIENTES C, ITENS I
WHERE (C.COD_CLI = I.COD_CLI)


No Join há uma comparação entre as tabelas, já no Where há uma pesquisa em 
cada tabela.
Em poucos registros isso não seria problema, mas a medida que a tabela 
cresce você poderá perder performance nas pesquisas, pois o motor do banco 
não irá utilizar os indices de forma adequada


Ou seja, as funções existem para cada necessidade e não para "competir" 
entre si
Por exemplo Poderiamos utilizar sempre Trim(String), mas se temos certeza de 
que a String só tera espaço no final ou começo porque não usar LTrim e RTrim 
?

Então analise a sua necessidade e faça bom uso das funções existentes.



Espero ter ajudado



----------------------
Marcelo Silva
(11) 9693-4251
MSN: marcvan em ig.com.br


----- Original Message ----- 
From: "Pablo Cunha" <cunhapablo em yahoo.com.br>
To: <lista em firebase.com.br>
Sent: Thursday, June 29, 2006 10:46 AM
Subject: [firebase-br] Inner Join x Where



 Qual a diferença e vantagens / desvantagem do Inner  Join em relação ao 
Where ?

 Obrigado pela a ajuda,
 Pablo


---------------------------------
 Você quer respostas para suas perguntas? Ou você sabe muito e quer 
compartilhar seu conhecimento? Experimente o Yahoo! Respostas!
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço 
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa



-- 
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.394 / Virus Database: 268.9.5/376 - Release Date: 26/06/2006






Mais detalhes sobre a lista de discussão lista