2
respostas

Prática de unir tabelas (JOIN, Subselect, Views)

Boa tarde, O exercicio apresentado, existe varias formas de solução - quando queremos pegar dados de três tabelas: usar vários joins, subselect, views....

Qual é a prática mais comum no mercado? Tem alguma diferença relacionada a custo/performance, boas práticas, ou é mais da cultura do desenvolvedor/da empresa?

Se puderem dar a opinião, ou até falar do que já viram por aí....

Se alguma das formas que comentei é menos usada, ou mais... ou bem vista, ou nem tanto.... etc.

Surgiu essa dúvida, pois no caso o professor solucionou um exercício usando alguns JOINS seguidos, e acho que teriam outras formas de chegar na mesma solução.

Obrigado, abçs!

2 respostas

Oii Ricardo, tudo bom?

Na minha experiência, eu sempre utilizei JOINs para relacionar tabelas, pois se formos ver pelo lado conceitual, o join é utilizado para relacionar tabelas de fato. Algumas vezes usei views para poder relacionar, mas foram casos específicos.

Depende bastante da situação em que se encontra, algumas nem dá pra fugir muito do join.

O subselect é mais utilizado para consultas que de outra forma seriam extremamente complicadas ou impossíveis de serem feitas. É mais utilizado para fazer filtros ou como fonte de dados de uma consulta principal.

De toda forma, como eu disse acima, depende muito do caso que você se encontra. Algumas vezes é mais fácil fazer consultas usando um inner join do que fazendo um subselect, pois as vezes podem levar mais tempo para serem elaboradas.

Vou deixar aqui para ti um artigo interessante sobre isso: Subquery vs Inner Join

Espero que tenha te ajudado de alguma forma. Qualquer coisa estou por aqui :)

Boa noite, Maria Gabriela.

Muito obrigado pela resposta, foi muito esclarecedora... de verdade.

O link que enviou tambem achei muito interessante, tanto o ponto de vista do autor, quanto a imagem - que ajuda muito mesmo a fixar a idéia do join e das clausulas...

Mas como você comentou, acho que a ideia de fazer o inner join, quando possível, parece 'mais simples'... Mesmo no curso, o subselect parece que fica mais sujo, e parece mais complexo.

Eu trabalho com DB2 fazem vários anos, e agora vou migrar pra SQL... E nunca vi usarem subselect por la, nessa linha mesmo de fazer o mais 'simples' , ate pra manutenção, ou corrigir algum problema rapido....

Obrigado pela ajuda, e por incluir até o link que foi bem útil!

Abçs,