PostgreSQL Esiste con Seleziona, Inserisci, Aggiorna ed Elimina Esempio

In cosa esiste PostgreSQL?

. PostgreSQL ESISTE L'operatore verifica se esistono righe in una sottoquery. Ciò significa che l'operatore viene utilizzato insieme a una sottoquery. Si dice che l'operatore Exists sia stato soddisfatto quando viene trovata almeno una riga nella sottoquery. È possibile utilizzare questa operazione insieme alle istruzioni SELECT, UPDATE, INSERT e DELETE.

Postgres esiste la sintassi della query

Ecco la sintassi per il PostgreSQL Dichiarazione EXISTS:

WHERE EXISTS (subquery);

La sintassi precedente mostra che l'operatore EXISTS accetta un argomento, che è una sottoquery. La sottoquery è semplicemente a Istruzione SELECT che dovrebbe iniziare con SELECT * anziché con un elenco di nomi di colonne o espressioni.

PostgreSQL Esiste con l'istruzione SELECT

Vediamo come usare un'istruzione SELECT con l'operatore EXISTS. Abbiamo le seguenti tabelle:

Libro:

PostgreSQL Esiste con l'istruzione SELECT

Prezzo:

PostgreSQL Esiste con l'istruzione SELECT

Eseguire la seguente istruzione:

SELECT *
FROM Book
WHERE EXISTS (SELECT *
              FROM Price
              WHERE Book.id = Price.id);

Questo restituisce quanto segue:

PostgreSQL Esiste con l'istruzione SELECT

Il comando precedente dovrebbe restituire tutti i record nella tabella Book il cui ID corrisponde all'ID di qualsiasi record della sottoquery. È stato abbinato un solo ID. Pertanto, è stato restituito un solo record.

PostgreSQL Esiste con l'istruzione INSERT

Possiamo usare l'operatore EXISTS in an Istruzione INSERTAbbiamo le seguenti 3 tabelle:

Libro:

PostgreSQL Esiste con l'istruzione INSERT

Prezzo:

PostgreSQL Esiste con l'istruzione INSERT

Prezzo2:

PostgreSQL Esiste con l'istruzione INSERT

Possiamo quindi eseguire la seguente istruzione:

INSERT INTO Price
SELECT id, price
FROM Price2
WHERE EXISTS (SELECT id
              FROM Book
              WHERE Book.id = Price2.id);

La tabella dei prezzi è ora la seguente:

PostgreSQL Esiste con l'istruzione INSERT

La riga con ID 5 nella tabella denominata Prezzo2 è stata abbinata. Questo record è stato poi inserito nella tabella Prezzi.

Postgres esiste con l'istruzione UPDATE

Possiamo utilizzare l'operatore EXISTS in un'istruzione UPDATE.

Esegui la seguente query:

UPDATE Price
SET price = (SELECT price
              FROM Price2
              WHERE Price2.id = Price.id)
WHERE EXISTS (SELECT id, price
FROM Price2
WHERE Price2.id = Price.id);

Postgres esiste con l'istruzione UPDATE

Stiamo aggiornando la colonna dei prezzi della tabella Prezzi. Il nostro obiettivo è che i prezzi degli articoli che condividono un ID siano gli stessi. È stata abbinata solo una riga, ovvero 5.

Tuttavia, poiché i prezzi sono uguali, cioè 205, non è stato effettuato alcun aggiornamento. Se ci fosse stata una differenza, sarebbe stato effettuato un aggiornamento.

Postgres esiste con l'istruzione DELETE

A PostgreSQL L'istruzione DELETE può utilizzare l'operatore EXISTS. Ecco un esempio:

DELETE FROM Price
WHERE EXISTS (SELECT *
              FROM Price2
              WHERE Price.id = Price2.id);

La tabella dei prezzi è ora la seguente:

Postgres esiste con l'istruzione DELETE

La riga con ID 5 è stata eliminata.

PostgreSQL Esiste una dichiarazione che utilizza pgAdmin

Ora vediamo come è possibile eseguire queste azioni utilizzando pgAdmin:

Come utilizzare la query esistente in PostgreSQL con l'istruzione SELECT utilizzando pgAdmin

Di seguito sono riportati i passaggi per utilizzare la query Esiste PostgreSQL con l'istruzione SELECT utilizzando pgAdmin:

Passaggio 1) Accedi al tuo account pgAdmin

Apri pgAdmin e accedi al tuo account utilizzando le tue credenziali

Passaggio 2) Creare un database dimostrativo

  1. Dalla barra di navigazione a sinistra, fare clic su Database.
  2. Fare clic su Demo.

PostgreSQL Esiste una dichiarazione che utilizza pgAdmin

Passaggio 3) Digitare la query

Digita la query seguente nell'editor di query:

SELECT *
FROM Book
WHERE EXISTS (SELECT *
              FROM Price
              WHERE Book.id = Price.id);

Passaggio 4) Eseguire la query

Fare clic sul pulsante Esegui

PostgreSQL Esiste una dichiarazione che utilizza pgAdmin

Dovrebbe restituire quanto segue:

PostgreSQL Esiste una dichiarazione che utilizza pgAdmin

Con l'istruzione INSERT

Per ottenere lo stesso risultato tramite pgAdmin, procedi come segue:

Passo 1) Accedi al tuo account pgAdmin.

Passo 2)

  1. Dalla barra di navigazione a sinistra, fare clic su Database.
  2. Fare clic su Demo.

Esiste la dichiarazione in PostgreSQL utilizzando pgAdmin

Passo 3) Digita la query nell'editor di query:

INSERT INTO Price
SELECT id, price
FROM Price2
WHERE EXISTS (SELECT id
              FROM Book
              WHERE Book.id = Price2.id);

Passo 4) Fare clic sul pulsante Esegui.

Esiste la dichiarazione in PostgreSQL utilizzando pgAdmin

La tabella dei prezzi dovrebbe ora essere la seguente:

Esiste la dichiarazione in PostgreSQL utilizzando pgAdmin

Con la dichiarazione di AGGIORNAMENTO

Per ottenere lo stesso risultato tramite pgAdmin, procedi come segue:

Passo 1) Accedi al tuo account pgAdmin.

Passo 2)

  1. Dalla barra di navigazione a sinistra, fare clic su Database.
  2. Fare clic su Demo.

Esiste la dichiarazione in PostgreSQL utilizzando pgAdmin

Passo 3) Digita la query nell'editor di query:

UPDATE Price
SET price = (SELECT price
              FROM Price2
              WHERE Price2.id = Price.id)
WHERE EXISTS (SELECT id, price
FROM Price2
WHERE Price2.id = Price.id);

Passo 4) Fare clic sul pulsante Esegui.

PostgreSQL Esiste una dichiarazione che utilizza pgAdmin

La tabella dei prezzi dovrebbe ora essere la seguente:

PostgreSQL Esiste una dichiarazione che utilizza pgAdmin

Con l'istruzione DELETE

Per ottenere lo stesso risultato tramite pgAdmin, procedi come segue:

Passo 1) Accedi al tuo account pgAdmin.

Passo 2)

  1. Dalla barra di navigazione a sinistra, fare clic su Database.
  2. Fare clic su Demo.

PostgreSQL Esiste una dichiarazione che utilizza pgAdmin

Passo 3) Digita la query nell'editor di query:

DELETE FROM Price
WHERE EXISTS (SELECT *
              FROM Price2
              WHERE Price.id = Price2.id);

Passo 4) Fare clic sul pulsante Esegui.

PostgreSQL Esiste una dichiarazione che utilizza pgAdmin

La tabella dei prezzi dovrebbe ora essere la seguente:

PostgreSQL Esiste una dichiarazione che utilizza pgAdmin

Sintesi

  • L'operatore EXISTS verifica se esistono righe in una sottoquery.
  • Viene utilizzato con una sottoquery e si dice che sia stato soddisfatto quando la sottoquery restituisce almeno una riga.
  • Viene utilizzato insieme alle istruzioni SELECT, UPDATE, INSERT e DELETE.

Scarica il database utilizzato in questo tutorial