Junção no SQL
06/09/2006
0
select departamento.nome ´Departamento´, funcionario.nome
from funcionario, departamento
where funcionario.coddepartamento = departamento.coddepartamento
e usando join, tipo:
select departamento.nome, funcionario.nome
from funcionario inner join departamento
on funcionario.coddepartamento = departamento.coddepartamento
Obrigado :lol:
Tquintao
Curtir tópico
+ 0Posts
07/09/2006
Wagnerbianchi
Bom, diferença não há nenhuma se o resulta condiz com a sua expectativa em relação à consulta. A única questão é quanto a legibilidade.
As associações INNER JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN, CROSS JOIN passaram a existir em uma implementação de uma versão ANSI SQL mais contemporânea, enquanto que, antes disso, as junções ou associações entre tabelas eram feitas de forma a montar quebra-cabeças como o seu primeiro exemplo.
Você ainda poderá implementar associações dessa maneira:
SELECT C.CLIENTE_NOME, A.AUTO_NOME FROM LOCACAO AS L INNER JOIN CLIENTE AS ON L.CLIENTE_COD = C.CLIENTE_COD JOIN AUTOMOVEL AS A ON L.AUTO_COD = A.AUTO_COD ORDER BY C.CLIENTE_NOME
...usando os aliases ´AS´ você também poupa escrita de código e não exclui a legibilidade, que é tão importante quanto.
No MOC 2071, recomenda-se escrever JOIN, LEFT JOIN ou RIGHT JOIN, deixando o INNER e o OUTER de fora, isso vai de cada um!
Qualquer dúvida, continue o post!
Abraço!!
Gostei + 0
07/09/2006
Wagnerbianchi
Bom, diferença não há nenhuma se o resulta condiz com a sua expectativa em relação à consulta. A única questão é quanto a legibilidade.
As associações INNER JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN, CROSS JOIN passaram a existir em uma implementação de uma versão ANSI SQL mais contemporânea, enquanto que, antes disso, as junções ou associações entre tabelas eram feitas de forma a montar quebra-cabeças como o seu primeiro exemplo.
Você ainda poderá implementar associações dessa maneira:
SELECT C.CLIENTE_NOME, A.AUTO_NOME FROM LOCACAO AS L INNER JOIN CLIENTE AS C ON L.CLIENTE_COD = C.CLIENTE_COD JOIN AUTOMOVEL AS A ON L.AUTO_COD = A.AUTO_COD ORDER BY C.CLIENTE_NOME
...usando os aliases ´AS´ você também poupa escrita de código e não exclui a legibilidade, que é tão importante quanto.
No MOC 2071, recomenda-se escrever JOIN, LEFT JOIN ou RIGHT JOIN, deixando o INNER e o OUTER de fora, isso vai de cada um!
Qualquer dúvida, continue o post!
Abraço!!
Gostei + 0
08/09/2006
Tquintao
Obrigado pela resposta, ela satisfez a minha dúvida.
Abraço
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)