DIFERENCA JOIN

SURI 06/01/2011 16:03:56
#361407
Olá malta,

Qual é a diferença que existe entre as Joins (Inner, left, right e outter)? È que por vezes faço joins diferentes e não altera nada continua apresentando os dados na mesma
PARREIRA 07/01/2011 10:30:27
#361519
Resposta escolhida
Vamos lá..

Inner - Vai trazer somente dados que relaciona na tabela ou seja ,se você quer o nome do cliente e os pedidos do cliente ,o inner só irá trazer os cliente que tem pedido,se não tiver nenhum pedido,não traz nada porque não tem relacionamento entre as tabelas..

Left - Traz todos registros da tabela a esquerda caso tenha relacionamento ou não exemplo : select a.nome_cli,b.total From Tbl_Cliente as a Left Join Tbl_pedidos as b
Irá trazer todos cliente que tenham ou não pedidos ,pois a tabela cliente está a esquerda,os cliente que não tem pedido vai aparecer null no total.

Right - O Inverso do left,traz todos pedidos independente de estar amarrado com algum cliente ou não,ou seja se não tiver cliente o campo a.nome retorna null e o total o valor.

outher join - A junção full outer join seria o mesmo que left join e right join juntas, ou seja, ela irá mostrar todos os clientes e todos os totais, independente de existir valores correspondente na tabela oposta.
SURI 07/01/2011 12:20:11
#361536
Valeu PARREIRA,

Estes conceitos são estremamente importantes. Assim saberei exactamente os casos onde aplicar uma ou outra join!!


VAleu
Tópico encerrado , respostas não são mais permitidas