..


Links Patrocinados

Apagar essas tabelas usando JUNTE-SE

Artigo escrito por Max Bossi

Neste breve artigo vamos ver como a consulta pode apagar (DELETE) explorar o potencial do JOIN, ou seja, criar relacionamentos entre tabelas em MySQL.
Na verdade já vimos como usar o JOIN na selecção de dados (SELECT) e sendo atualizado (UPDATE) aqui só vamos estender o que já está aprendido.

Para melhor conhecer o potencial desta técnica deve considerar, como o nosso costume, assume um caso de uso.

Vamos dizer que temos que trabalhar em um banco de dados de um armazém hipotético consiste das seguintes tabelas (do qual descrevem a sua estrutura):

  • prateleiras
    • id (int)
    • descrição (varchar)
  • prateleiras
    • id (int)
    • scaffale_id (int)
    • descrição (varchar)
  • produtos
    • id (int)
    • ripiano_id (int)
    • nome (varchar)
    • preço (float)
Agora suponha que você tenha a necessidade de eliminar os produtos. Abordamos os seguintes três resultados diferentes.

1) Suponha que você deseja excluir um único produto que você sabe a ID. Neste caso, você pode simplesmente executar uma consulta trivial:

 



 DELETE * FROM produtos WHERE id = 1;

 
2) A mesma consulta será usada se você deseja excluir todos os produtos amontoados em uma prateleira dados:
 



 DELETE * FROM produtos ONDE ripiano_id = 1;

 
3) Mas se você deseja excluir todos os produtos presentes na prateleira?
Uma consulta simples, como aquelas vistas anteriormente não seria possível porque, em "produtos" não existe campo que faz referência a prateleira!

Na verdade o problema não é insuperável! com um pouco de destreza na manipulação de consultas, de fato, o obstáculo é facilmente contornado! Como? com um JOIN! Aqui está um exemplo:

 



 Excluir produtos .*







 FROM produtos INNER JOIN prateleiras







 ON = prodotti.ripiano_id ripiani.id







 ONDE ripiani.scaffale_id = 1;



Ao fazer isso, criamos um relacionamento entre duas tabelas "produtos" e "prateleiras" (com base no campo de JOIN "ripiano_id" na primeira tabela que corresponde ao segundo identificador) a fim de explorar o campo "scaffale_id" deste " passado.

À primeira vista, talvez, possa parecer um pouco complicado ... é realmente muito simples. É sobre a criação de uma relação lógica entre duas tabelas, a fim de usar as informações para operar o primeiro do segundo.

Se, além de produtos, queria remover todas as prateleiras correspondente ao pututo prateleira dada usamos uma consulta ligeiramente diferente:

 



 Excluir produtos .*, prateleiras .*







 FROM produtos INNER JOIN prateleiras







 ON = prodotti.ripiano_id ripiani.id







 ONDE ripiani.scaffale_id = 1;



Na essência, ele é a visão um pouco acima da consulta com a única diferença que o cancelamento afetará não só os campos na tabela "produtos":
 



 produtos .*

 
mas também os da mesa "prateleiras":
 



 prateleiras .*

 
Para dúvidas ou pedidos convido-vos a mensagem em nosso fórum .

Na mesma categoria ...
E-Learning
MS Access (Curso) MS Access (Curso)
Saiba como criar e gerenciar bancos de dados com facilidade e rapidez. 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