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:
Prezzo:
Eseguire la seguente istruzione:
SELECT * FROM Book WHERE EXISTS (SELECT * FROM Price WHERE Book.id = Price.id);
Questo restituisce quanto segue:
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:
Prezzo:
Prezzo2:
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:
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);
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:
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
- Dalla barra di navigazione a sinistra, fare clic su Database.
- Fare clic su Demo.
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
Dovrebbe restituire quanto segue:
Con l'istruzione INSERT
Per ottenere lo stesso risultato tramite pgAdmin, procedi come segue:
Passo 1) Accedi al tuo account pgAdmin.
Passo 2)
- Dalla barra di navigazione a sinistra, fare clic su Database.
- Fare clic su Demo.
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.
La tabella dei prezzi dovrebbe ora essere la seguente:
Con la dichiarazione di AGGIORNAMENTO
Per ottenere lo stesso risultato tramite pgAdmin, procedi come segue:
Passo 1) Accedi al tuo account pgAdmin.
Passo 2)
- Dalla barra di navigazione a sinistra, fare clic su Database.
- Fare clic su Demo.
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.
La tabella dei prezzi dovrebbe ora essere la seguente:
Con l'istruzione DELETE
Per ottenere lo stesso risultato tramite pgAdmin, procedi come segue:
Passo 1) Accedi al tuo account pgAdmin.
Passo 2)
- Dalla barra di navigazione a sinistra, fare clic su Database.
- Fare clic su Demo.
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.
La tabella dei prezzi dovrebbe ora essere la seguente:
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