Pular para o conteúdo principal

Como deletar/remover dados de uma tabela SQL com dados de outra tabela


Para deletar um registro ou mais registros(linhas) de uma tabela, utilizamos o comando SQL DELETE. É importante frisar que esse comando não exclui a tabela em sim, apenas os dados armazenados nele.

Qual a sintaxe do comando SQL DELETE?

A sintaxe básica usada para o comando DELETE é:

 DELETE FROM nome_da_tabela 
 WHERE condição; 

Observe que após a expressão FROM indicamos o nome da tabela que vamos excluir os dados. Já na cláusula WHERE definimos a condição que será usada como filtro para encontrar exatamente o registro que será excluído.

Observe o nosso cenário

Eu tenho uma tabela que armazena produtos atualizados de uma Loja.

Vou fazer um novo SELECT para selecionar os dados da tabela atualizada.

SELECT * FROM produtos_atualizados

Também, vou fazer um SELECT na tabela de produtos para selecionar os dados da tabela.

SELECT * FROM produto
Eu tenho a seguinte rotina na empresa. Sempre que um produto é atualizado, eu vou na tabela produto para inserir os dados mais atualizados. 

A gente pode fazer a atividade de deletar  e inserir 1 por 1, de forma manual.

Porém, em um cenário corporativo, isso não é uma opção viável e inteligente já que você pode trabalhar com milhares e milhões de linhas.

Por isso, vou fazer um Delete que antes de remover  o dado, verifica com um SELECT se o produto que consta na tabela de produtos atualizados, também consta na tabela de produtos. Se constar na duas tabelas , ele deleta o produto, Caso contrario , ele não executa nada.

DELETE produto
FROM produto
WHERE EXISTS(SELECT * FROM produtos_atualizados WHERE produtos_atualizados.IDPRODUTO = produto.IDPRODUTO)

Após o Delete, eu faço a inserção dos dados atualizados.

INSERT INTO produto
SELECT * FROM produtos_atualizados

Executando o código , teremos a seguinte saída com os dados atualizados:

Comentários

Postagens mais visitadas deste blog

Exercícios resolvidos em Linguagem Python - para iniciantes

Esta lista de exercícios resolvidos é um manual para ajudar todo aluno iniciante e não só, a adquirir e aprimorar as habilidades necessárias para se trabalhar com Python, de forma rápida e consistente. Estude e desfrute do conteúdo. 1º Exercício      Faça um programa que informe a versão do Python que você está utilizando Solução import sys print ( "Versão do Python" ) print (sys.version) print ( "Informação da versão instalada" ) print (sys.version_info) Atenção :     -  O módulo sys fornece funções e variáveis usadas para manipular diferentes partes do ambiente de tempo de execução do Python;     - Pra quem ainda não está familiarizado com a linguagem, um módulo  é um arquivo contendo definições e comandos em Python para serem usados em outros programas. 2º Exercício      Faça um programa em linguagem Python que converta metros para centímetros. Solução print ( ' \t ----Conversão de medida---- ' ) metros = int ( in...

Como abrir uma página da web utilizando Python?

Simples, você pode abrir páginas da Web de forma rápida, segura e fácil. Veja só, durante os estudos das bibliotecas padrão do Python descobri que para abrir um navegador web a partir de um script, devo importar o módulo webbrowser. Em seguida, usar webbrowser.open () que vai receber o link que quero abrir como argumento e executar o serviço, ou seja, basta inserir um endereço do youtube nele, na verdade pode ser qualquer link que você desejar. Exemplo webbrowser.open( "https://www.huicode.com.br/p/exercicios-resolvidos-de-linguagem-c.html" ) Para funcionar temos que importar o módulo webbrowser, que vai ser a maneira de dizer ao python que queremos usar webbrowser e todas as suas funcionalidades no programa. import webbrowser webbrowser.open( "https://www.huicode.com.br/p/exercicios-resolvidos-de-linguagem-c.html" ) Funcionooou, uhuhu. Nem parece, mas o módulo webbrowser é um módulo muito empregado em projetos de sites de filmes. Tem muitas utilidades, acredite.

Lista de exercícios resolvidos de Linguagem Python

  Neste artigo, temos diversos exercícios básicos, exercícios utilizando   if - else , exercícios utilizando o   for  e   while  e exercícios utilizando as funções   lambda  e   map . Parte I - Exercícios básicos  (Estruturas sequenciais) Exercício 01 Desenvolva um programa que peça dois números e imprima a soma. Solução #criar as variáveis que vão receber a entrada dos números num1 = int ( input ( "Digite o 1º numero: " )) num2 = int ( input ( "Digite o 2º numero: " )) #calcular a soma soma = num1 + num2 # Mostrar o resultado na tela print ( f "A soma entre { num1 } e { num2 } é = { soma } " ) Ao executar o script , teremos como saída: Exercício 02 Faça um programa que converta metros para centímetros. Solução Um metro corresponde a 100 centímetros. Portanto: #criar a variável que vai receber a entrada do valor metros = float ( input ( "Digite o valor em metros: " )) #calculando a medida centimetros = metros * 100 # Most...