..


Links Patrocinados

Gerenciar juntar três tabelas

Artigo escrito por Max Bossi

Na guia para SQL vimos como criar parcerias entre duas tabelas usando INNER JOIN. Neste artigo vamos ver como fazer a mesma coisa que a gestão não mais que duas, mas três tabelas.

Na realidade, é uma operação muito simples, que não difere de um JOIN comum de duas tabelas.
Vamos fazer um exemplo: pense em uma compra hipotético de um banco de dados simples de e-commerce é composto de três tabelas estruturado da seguinte forma:

usuários (usado para o gerenciamento de usuários registrados)

  • ute_id
  • ute_nome
  • ute_cognome
produtos (usado para o catálogo de produtos para venda)
  • prod_id
  • prod_nome
  • prod_descrizione
  • prod_prezzo
compras (usado para registrar as compras)
  • acq_id
  • acq_ute_id
  • acq_prod_id
  • acq_data
Agora digamos que você deseja recuperar, usando uma única consulta, as seguintes informações relacionadas a compras feitas por um ID determinado usuário (por exemplo, 1), informações contidas em três tabelas separadas: nome completo do usuário (tabela de usuários), nome, descrição e o preço de compra do produto (na tabela Produtos) e da data de aquisição (compras tabela). Como? Simples ... basta usar uma consulta como esta:





 SELECIONE



  



 utenti.ute_nome, utenti.ute_cognome,



  



 prodotti.prod_nome, prodotti.prod_descrizione, prodotti.prod_prezzo,



  



 acquisti.acq_data







 FROM usuários







 INNER compras JUNTE-SE







 ON = utenti.ute_id acquisti.acq_ute_id







 INNER produtos JUNTE-SE







 ON = prodotti.prod_id acquisti.acq_prod_id







 ONDE utenti.ute_id = 1;

 

Como você pode ter notado o comum cláusula FROM (que identifica a primeira tabela) é seguido por dois INNER JOIN (que identificam a segunda ea terceira tabela), acompanhada pelo link aplicáveis ​​ON que é "uma ponte", a fim de criar um link racionalmente entre as tabelas diferentes.

Finalmente eu só tenho que lembrá-lo que, é claro, você pode usar a técnica visto acima para consultas mais complexas envolvendo 4, 5 ou mais mesas ... na verdade eu aconselho a não exagerar na construção de tais consultas, embora teoricamente possível, é muitas vezes trabalhou gerenciáveis ​​na aplicação prática.

Na mesma categoria ...
E-Learning
MS Access (Avançado) MS Access (Avançado)
Saiba como criar e gerenciar bancos de dados com rapidez e facilidade. A partir de 29 €.
MySQL (Curso) MySQL (Curso)
Gestão de banco de dados open-source. A partir de 39 €.
SQL e Banco de Dados (Curso) SQL e Banco de Dados (Curso)
Criar e gerenciar bancos de dados relacionais. A partir de 39 €.
Links Patrocinados