PostgreSQL ESISTE con esempi

Che cosa è PostgreSQL esiste?

L’operatore EXISTS verifica se esiste una o più 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 almeno una riga viene trovata nella sottoquery. È possibile utilizzare questa operazione insieme alle istruzioni SELECT, UPDATE, INSERT e DELETE.

In questo tutorial PostgreSQL, imparerai quanto segue:

  • Sintassi
  • Con l’Istruzione SELECT
  • Con l’Istruzione INSERT
  • Con l’Istruzione UPDATE
  • Con l’Istruzione DELETE
  • Con pgAdmin

Sintassi

Ecco la sintassi per PostgreSQL ESISTE affermazione:

WHERE EXISTS (subquery);

La sintassi precedente mostra che l’operatore EXISTS prende in un argomento, che è una sottoquery. La sottoquery è semplicemente un’istruzione SELECT che dovrebbe iniziare con un SELECT * invece di un elenco di nomi di colonne o espressioni.

Con l’istruzione SELECT

Vediamo come utilizzare un’istruzione SELECT con l’operatore EXISTS. Abbiamo le seguenti tabelle:

Libro:

Prezzo:

Eseguire la seguente istruzione:

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

Questo restituisce il seguente:

Il comando di cui sopra dovrebbe restituire tutti i record nel Libro della tabella di cui id corrisponde l’id di un record da una sottoquery. Solo un id è stato abbinato. Quindi, è stato restituito solo un record.

Con l’istruzione INSERT

Possiamo utilizzare l’operatore EXISTS in un’istruzione INSERT. Abbiamo i seguenti 3 tabelle:

Libro:

Prezzo:

Price2:

Siamo in grado di eseguire la seguente istruzione:

INSERT INTO PriceSELECT id, priceFROM Price2WHERE EXISTS (SELECT id FROM Book WHERE Book.id = Price2.id);

Il Prezzo in tabella è il seguente:

La riga con id 5 nella tabella denominata Price2 è stato trovato. Questo record è stato quindi inserito nella tabella dei prezzi.

Con l’istruzione UPDATE

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

Eseguire la seguente query:

UPDATE PriceSET price = (SELECT price FROM Price2 WHERE Price2.id = Price.id)WHERE EXISTS (SELECT id, priceFROM Price2WHERE Price2.id = Price.id);

Stiamo aggiornando la colonna dei prezzi della tabella dei prezzi. Il nostro obiettivo è quello di avere i prezzi degli articoli che condividono un ID per essere lo stesso. Solo una riga è stata abbinata, cioè 5.

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

Con l’istruzione DELETE

Un’istruzione PostgreSQL DELETE può utilizzare l’operatore EXISTS. Ecco un esempio:

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

La tabella dei prezzi è ora la seguente:

La riga con un ID pari a 5 è stata eliminata.

Con pgAdmin

Ora vediamo come queste azioni possono essere eseguite usando pgAdmin.

Con l’istruzione SELECT

Per ottenere lo stesso risultato tramite pgAdmin, fai questo:

Passo 1) Accedi al tuo account pgAdmin.

Passo 2)

  1. Dalla barra di navigazione sui database del tasto sinistro del mouse.
  2. Clicca Demo.

Passo 3) Digitare la query nell’editor di query:

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

Passo 4) Fare clic sul pulsante Esegui.

Dovrebbe restituire quanto segue:

Con l’istruzione INSERT

Per ottenere lo stesso risultato tramite pgAdmin, fai questo:

Passo 1) Accedi al tuo account pgAdmin.

Passo 2)

  1. Dalla barra di navigazione sui database del tasto sinistro del mouse.
  2. Clicca Demo.

Passo 3) Digitare la query nell’editor di query:

INSERT INTO PriceSELECT id, priceFROM Price2WHERE EXISTS (SELECT id FROM Book WHERE Book.id = Price2.id);

Passaggio 4) Fare clic sul pulsante Esegui.

La tabella dei prezzi dovrebbe ora essere la seguente:

Con l’istruzione UPDATE

Per ottenere lo stesso risultato tramite pgAdmin, fai questo:

Passo 1) Accedi al tuo account pgAdmin.

Passo 2)

  1. Dalla barra di navigazione sui database del tasto sinistro del mouse.
  2. Clicca Demo.

Passo 3) Digitare la query nell’editor di query:

UPDATE PriceSET price = (SELECT price FROM Price2 WHERE Price2.id = Price.id)WHERE EXISTS (SELECT id, priceFROM Price2WHERE Price2.id = Price.id);

Passo 4) Fare clic sul pulsante Esegui.

La tabella dei prezzi dovrebbe ora essere la seguente:

Con l’istruzione DELETE

Per ottenere lo stesso risultato tramite pgAdmin, fai questo:

Passo 1) Accedi al tuo account pgAdmin.

Passo 2)

  1. Dalla barra di navigazione sui database del tasto sinistro del mouse.
  2. Clicca Demo.

Passo 3) Digitare la query nell’editor di query:

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

Passo 4) Fare clic sul pulsante Esegui.

La tabella dei prezzi dovrebbe ora essere la seguente:

Riepilogo

  • L’operatore EXISTS verifica se esiste una o più righe in una sottoquery.
  • Viene utilizzato con una subquery e si dice che sia stata soddisfatta quando la subquery restituisce almeno una riga.
  • Viene utilizzato insieme alle istruzioni SELECT, UPDATE, INSERT e DELETE.

Scarica il database utilizzato in questo Tutorial

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Previous post 2021 Ristrutturazioni e costruzione di hotel a Disney World
Next post Tutti i suggerimenti necessari per fare il trucco degli occhi su Monolids