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
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?
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;
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
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.