PostgreSQL EXCLUIR linhas da seleção
⚡ Resumo Inteligente
PostgreSQL O comando DELETE remove uma ou mais linhas de uma tabela, e combiná-lo com uma cláusula WHERE seleciona apenas os registros que correspondem a uma determinada condição, enquanto omitir a cláusula WHERE apaga todas as linhas da tabela.

Excluir consulta em PostgreSQL
O instrução DELETE in PostgreSQL é usado para excluir um ou mais registros de uma tabela. Para excluir apenas as linhas selecionadas de uma tabela, PostgreSQL Permite combinar a instrução DELETE com a cláusula WHERE; caso contrário, exclui todos os registros da tabela.
PostgreSQL Sintaxe de consulta de exclusão
A instrução DELETE pode ser definida usando a sintaxe abaixo:
[ WITH [ RECURSIVE ] with-query [, ...] ] DELETE FROM [ ONLY ] table-name [ * ] [ [ AS ] alias ] [ USING using-list ] [ WHERE condition(s) | WHERE CURRENT OF cursor-name] [ RETURNING * | output-expression [ [ AS ] output-name] [, ...] ]
Parâmetros Técnicos
Os seguintes parâmetros estão disponíveis:
- com consultaA cláusula WITH permite referenciar uma ou mais subconsultas pelo nome dentro da consulta DELETE.
- table-name: o nome da tabela da qual os registros serão excluídos.
- aliás: um substituto para o nome da tabela de destino.
- lista de usoExpressões de tabela que permitem que colunas de outras tabelas sejam usadas na cláusula WHERE.
- condição(ões): opcional. Estas são as condições que devem ser satisfeitas para que os registros sejam excluídos. Se esta seção não for fornecida, todos os registros com o nome da tabela serão excluídos.
- nome do cursor: o cursor a ser usado na condição WHERE CURRENT OF. A última linha retornada por este cursor será excluída.
- expressão de saída: a expressão a ser processada e retornada pela instrução DELETE após cada linha ser excluída.
- nome de saída: o nome a ser usado para a coluna retornada.
Observe que, como a instrução DELETE exclui a linha inteira, não é necessário especificar os nomes das colunas.
PostgreSQL Excluir consulta com uma condição
A instrução DELETE pode ser usada com uma única condição, definida pela cláusula WHERE. Considere a tabela de preços com os seguintes dados:
Preço:
Vamos deletar o registro com um id 4:
DELETE FROM Price WHERE id = 4;
O comando acima exclui os registros cujo ID é 4. Vamos confirmar se a exclusão foi bem-sucedida:
A linha com ID 4 foi excluída.
Excluir consulta com duas condições
O PostgreSQL A instrução DELETE também pode receber duas condições. As duas condições devem ser unidas usando o operador AND. Usaremos a seguinte tabela:
Preço:
Considere o exemplo abaixo:
DELETE FROM Price WHERE id = 3 AND price = 300;
No comando acima, estamos excluindo a linha em que o ID é 3 e o preço é 300. Agora podemos consultar a tabela:
SELECT * FROM Price;
Isso retorna o seguinte:
O registro com id 3 e preço 300 foi excluído.
PostgreSQL Consulta de exclusão usando condição EXISTS
Com o EXISTE Em determinadas condições, você pode tornar o comando DELETE mais complexo. Às vezes, pode ser necessário excluir registros de uma tabela com base em registros de outra tabela.
Como a cláusula FROM não permite listar registros de mais de uma tabela ao executar uma exclusão, a cláusula EXISTS torna-se muito útil. Temos as seguintes duas tabelas:
Livro:
Preço:
Podemos então executar a seguinte consulta:
DELETE FROM Book WHERE EXISTS (SELECT 1 FROM Price WHERE Price.id = Book.id AND price < 250 );
O comando exclui da tabela Book as linhas que possuem um ID correspondente na tabela Price com um preço inferior a 250.
A tabela Book agora é a seguinte:
O registro com id 1 foi excluído.
Como excluir uma linha em PostgreSQL usando pgAdmin
As mesmas consultas de exclusão também podem ser executadas visualmente através da interface do pgAdmin, seguindo os passos abaixo:
Com uma condição
Passo 1) Faça login na sua conta pgAdmin. Abra o pgAdmin e faça login na sua conta usando suas credenciais.
Passo 2) Criar um banco de dados de demonstração.
- Na barra de navegação à esquerda, clique em Bancos de dados.
- Clique em Demonstração.
Passo 3) Digite a consulta abaixo no editor de consultas:
DELETE FROM Price WHERE id = 4;
Passo 4) Clique no botão Executar.
Passo 5) Vamos verificar se a linha foi excluída:
Com duas condições
Passo 1) Faça login em sua conta pgAdmin.
Passo 2)
- Na barra de navegação à esquerda, clique em Bancos de dados.
- Clique em Demonstração.
Passo 3) Digite a consulta no editor de consultas:
DELETE FROM Price WHERE id = 3 AND price = 300;
Passo 4) Clique no botão Executar.
Passo 5) Vamos verificar se a exclusão foi bem-sucedida:
Usando a condição EXISTS
Passo 1) Faça login em sua conta pgAdmin.
Passo 2)
- Na barra de navegação à esquerda, clique em Bancos de dados.
- Clique em Demonstração.
Passo 3) Digite a consulta no editor de consultas:
DELETE FROM Book WHERE EXISTS (SELECT 1 FROM Price WHERE Price.id = Book.id AND price < 250 );
Passo 4) Clique no botão Executar.
Passo 5) Vamos verificar se a exclusão foi bem-sucedida:
Baixe o banco de dados usado neste tutorial
















