Para que serve JOIN?

4 respostas
E

olá pessoal do PJ

tava pequisanu ae esses dias, e eis que eu descubro uma forma de linkar tabelas no SELECT usando uma tal instrução JOIN. Mas não sei o que é isso e o material que eu encontrei é muito pouco explicativo.
Gostaria de saber mais sobre essa instrução, quando deve ser usada, etc.

Agradeço desde já,

Ederson

4 Respostas

R

cara, join serve para vc "linkar’ 2 tabelas.

por exemplo, tenho 2 tbls no meu banco:

TabelaPessoa

idPessoa;

fkIdCliente;
TabelaCliente

idCliente;

clienteNome;

clienteFone

agora eu quero saber todos os nomes de cliente que são uma pessoa:

Select clienteNome from TabelaCliente inner join TabelaPessoa on idCliente = fkIdCliente where clienteFone = 123456;

Nesta instrução eu verifiquei todos os clientes que são uma pessoa e tenham telefone = 123456.

Ficou claro?

V

Em álgebra relacional chama-se junção natural e tem umas definições bastante divertidas nos livros de banco de dados…

por exemplo, o sql anterior pode ser traduzido (e um pouco modificado para fazer mais sentido):

Select C.*, P.idPessoa from TabelaCliente C, TabelaPessoa P where C.idCliente = P.fkIdCliente and C.clienteFone = 123456;

E

Entedi pessoal,

o método que o Viecili explicou eu já conhecia, mas esse usando JOIN não. Gostaria de saber qual a diferença real entre eles, vantagens e desvantagens de um ou do outro. Se bem q axo q jah tou pedindo demais… :roll:

Ederson

V

A vantagem de vc usar “JOIN” é deixar que o banco de dados escolha a melhora maneira e ordem de ‘junção’ entre os valores relacionados nas tabelas. Embora, no caso da junção natural, a maioria dos bancos converte em uma cláusula where simples.
Outra vantagem é deixar o sql mais compreensível e de alto-nível.

Criado 11 de janeiro de 2005
Ultima resposta 12 de jan. de 2005
Respostas 4
Participantes 3