o que é o PostgreSQL existe?
o operador existe testa se existe uma(S) Linha (s) em uma subquery. Isto significa que o operador é usado junto com um subquery. Diz-se que o operador existe foi atendido quando pelo menos uma linha é encontrada no subquery. Você pode usar esta operação juntamente com selecionar, Atualizar, inserir e excluir declarações.
neste Tutorial PostgreSQL, você aprenderá o seguinte:
- Sintaxe
- Com a Instrução SELECT
- Com a Instrução INSERT
- Com Instrução UPDATE
- Com a Instrução DELETE
- Com o pgAdmin
Sintaxe
Aqui é a sintaxe para o PostgreSQL EXISTE instrução:
WHERE EXISTS (subquery);
A sintaxe acima mostra que o operador EXISTS leva em um argumento, que é uma subconsulta. O subquery é simplesmente uma instrução selecionada que deve começar com uma seleção * em vez de uma lista de nomes de colunas ou expressões.
com a instrução SELECT
deixe ver como usar uma instrução SELECT com o operador existe. Temos as seguintes tabelas:
Livro:
Preço:
Execute a seguinte instrução:
SELECT *FROM BookWHERE EXISTS (SELECT * FROM Price WHERE Book.id = Price.id);
Isso retorna o seguinte:
O comando acima deve retornar todos os registros no Livro de mesa cujo id corresponde ao id de quaisquer registros pela subconsulta. Só uma identificação foi identificada. Assim, apenas um disco foi devolvido.
com INSERT Statement
podemos usar o operador existente em uma INSERT statement. Temos as seguintes 3 tabelas:
Livro:
Preço:
Price2:
podemos, em seguida, execute a seguinte instrução:
INSERT INTO PriceSELECT id, priceFROM Price2WHERE EXISTS (SELECT id FROM Book WHERE Book.id = Price2.id);
O Preço de tabela agora é o seguinte:
A linha com um id de 5 na tabela chamada Price2 foi correspondido. Este recorde foi então inserido na tabela de preços.
com Declaração de atualização
podemos usar o operador existente em uma declaração de atualização.
Execute a seguinte consulta:
UPDATE PriceSET price = (SELECT price FROM Price2 WHERE Price2.id = Price.id)WHERE EXISTS (SELECT id, priceFROM Price2WHERE Price2.id = Price.id);
Estamos atualizando a coluna de preços da tabela de Preços. Nosso objetivo é ter os preços dos itens compartilhando uma id para ser o mesmo. Só uma fila foi igualada, ou seja, 5. No entanto, uma vez que os preços são iguais, ou seja, 205, não foi feita qualquer actualização. Se houvesse diferença, teria sido feita uma actualização.
com a Declaração de supressão
uma declaração de eliminação pós-Gresql pode usar o operador existente. Aqui está um exemplo:
DELETE FROM PriceWHERE EXISTS (SELECT * FROM Price2 WHERE Price.id = Price2.id);
o quadro de preços é agora o seguinte::
a linha com um id de 5 foi apagada.
com pgAdmin
agora vamos ver como essas ações podem ser realizadas usando pgAdmin.
com instrução seleccionada
para realizar o mesmo através de pgAdmin, faça isto:
Passo 1) Login para a sua conta pgAdmin.
Passo 2)
- a partir da barra de navegação nas bases de dados do botão esquerdo.
- Clique Em Demo.
Etapa 3) Digite a consulta no editor de consulta:
SELECT *FROM BookWHERE EXISTS (SELECT * FROM Price WHERE Book.id = Price.id);
Passo 4) Clique no botão Executar.
deve devolver o seguinte:
Com inserir Declaração
para realizar o mesmo através de pgAdmin, faça isto:
Passo 1) Login para a sua conta pgAdmin.
Passo 2)
- a partir da barra de navegação nas bases de dados do botão esquerdo.
- Clique Em Demo.
Passo 3) Digite a consulta no editor de pesquisas:
INSERT INTO PriceSELECT id, priceFROM Price2WHERE EXISTS (SELECT id FROM Book WHERE Book.id = Price2.id);
Passo 4) Clique no botão Executar.
o quadro de preços deve agora ser o seguinte::
com a instrução de atualização
para realizar o mesmo através de pgAdmin, faça isto:
Passo 1) Login para a sua conta pgAdmin.
Passo 2)
- a partir da barra de navegação nas bases de dados do botão esquerdo.
- Clique Em Demo.
Etapa 3) Digite a consulta no editor de consulta:
UPDATE PriceSET price = (SELECT price FROM Price2 WHERE Price2.id = Price.id)WHERE EXISTS (SELECT id, priceFROM Price2WHERE Price2.id = Price.id);
Passo 4) Clique no botão Executar.
A tabela de Preços deve agora ser da seguinte forma:
Com a Instrução DELETE
Para realizar a mesma através do pgAdmin, fazer isso:
Passo 1) faça o Login para o pgAdmin conta.
Passo 2)
- a partir da barra de navegação nas bases de dados do botão esquerdo.
- Clique Em Demo.
Etapa 3) Digite a consulta no editor de consulta:
DELETE FROM PriceWHERE EXISTS (SELECT * FROM Price2 WHERE Price.id = Price2.id);
Passo 4) Clique no botão Executar.
o quadro de preços deve agora ser o seguinte::
resumo
- o operador existe para testar se uma(S) Linha (s) existe (s) em um subquery.
- é usado com um subquery e diz-se que foi atingido quando o subquery retorna pelo menos uma linha.
- é usado em conjunto com instruções de seleção, atualização, inserção e DELETE.
baixe a base de dados usada neste Tutorial