PostgreSQL EXISTE AVEC SELECT Operator (Exemple)
โก Rรฉsumรฉ intelligent
PostgreSQL EXISTS est un opรฉrateur boolรฉen qui teste si une sous-requรชte corrรฉlรฉe renvoie une ligne, permettant aux instructions SELECT, INSERT, UPDATE et DELETE de filtrer efficacement les donnรฉes en fonction de la prรฉsence ou de l'absence d'enregistrements correspondants.

Qu'est-ce qui EXISTE dans PostgreSQL?
Le PostgreSQL EXISTE L'opรฉrateur EXISTS vรฉrifie l'existence d'une ou plusieurs lignes dans une sous-requรชte. Il est donc utilisรฉ conjointement avec une sous-requรชte. On considรจre que l'opรฉrateur EXISTS a รฉtรฉ trouvรฉ lorsqu'au moins une ligne est prรฉsente dans la sous-requรชte. Vous pouvez utiliser cette opรฉration avec les instructions SELECT, UPDATE, INSERT et DELETE.
PostgreSQL Syntaxe de requรชte EXISTS
Voici la syntaxe du PostgreSQL Instruction EXISTE :
WHERE EXISTS (subquery);
La syntaxe ci-dessus montre que l'opรฉrateur EXISTS prend un argument, qui est une sous-requรชte. La sous-requรชte est simplement un Instruction SELECT cela devrait commencer par un SELECT * au lieu d'une liste de noms de colonnes ou d'expressions.
PostgreSQL EXISTS avec instruction SELECT
Voyons comment utiliser une instruction SELECT avec l'opรฉrateur EXISTS. Nous avons les tables suivantes :
Livre:
Le prix :
Exรฉcutez l'instruction suivante :
SELECT * FROM Book WHERE EXISTS (SELECT * FROM Price WHERE Book.id = Price.id);
Cela renvoie les รฉlรฉments suivants :
La commande ci-dessus doit renvoyer tous les enregistrements de la table Book dont l'identifiant correspond ร l'identifiant de tous les enregistrements de la sous-requรชte. Un seul identifiant correspondait. Par consรฉquent, un seul enregistrement a รฉtรฉ renvoyรฉ.
PostgreSQL EXISTS avec instruction INSERT
Nous pouvons utiliser l'opรฉrateur EXISTS dans un Instruction INSERT. Nous avons les 3 tableaux suivants :
Livre:
Le prix :
Prix2 :
Nous pouvons alors exรฉcuter l'instruction suivante :
INSERT INTO Price SELECT id, price FROM Price2 WHERE EXISTS (SELECT id FROM Book WHERE Book.id = Price2.id);
Le tableau des prix est dรฉsormais le suivant :
La ligne avec un identifiant de 5 dans le tableau nommรฉ Price2 a รฉtรฉ mise en correspondance. Cet enregistrement a ensuite รฉtรฉ insรฉrรฉ dans la table des prix.
PostgreSQL EXISTE avec instruction UPDATE
Nous pouvons utiliser l'opรฉrateur EXISTS dans une instruction UPDATE.
Exรฉcutez la requรชte suivante :
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);
Nous mettons ร jour la colonne prix du tableau Prix. Notre objectif est que les prix des articles partageant un identifiant soient les mรชmes. Une seule ligne correspondait, soit 5.
Cependant, comme les prix sont รฉgaux, soit 205, aucune mise ร jour n'a รฉtรฉ effectuรฉe. S'il y avait une diffรฉrence, une mise ร jour aurait รฉtรฉ effectuรฉe.
PostgreSQL EXISTS avec instruction DELETE
A PostgreSQL L'instruction DELETE peut utiliser l'opรฉrateur EXISTS. Voici un exemple :
DELETE FROM Price WHERE EXISTS (SELECT * FROM Price2 WHERE Price.id = Price2.id);
Le tableau des prix est dรฉsormais le suivant :
La ligne avec un identifiant de 5 a รฉtรฉ supprimรฉe.
PostgreSQL Instruction EXISTS utilisant pgAdmin
En dehors de l'interprรฉteur de commandes SQL, les mรชmes requรชtes EXISTS peuvent รชtre exรฉcutรฉes visuellement via l'interface pgAdmin. Voyons maintenant comment rรฉaliser ces actions avec pgAdmin :
Avec l'instruction SELECT
Voici les รฉtapes ร suivre pour utiliser une requรชte EXISTS dans PostgreSQL avec une instruction SELECT utilisant pgAdmin :
รtape 1) Connectez-vous ร votre compte pgAdmin. Ouvrez pgAdmin et connectez-vous ร votre compte ร l'aide de vos identifiants.
รtape 2) Crรฉer une base de donnรฉes de dรฉmonstration.
- Dans la barre de navigation de gauche, cliquez sur Bases de donnรฉes.
- Cliquez sur Dรฉmo.
รtape 3) Tapez la requรชte ci-dessous dans l'รฉditeur de requรชte :
SELECT * FROM Book WHERE EXISTS (SELECT * FROM Price WHERE Book.id = Price.id);
รtape 4) Cliquez sur le bouton Exรฉcuter.
Il devrait renvoyer ce qui suit :
Avec l'instruction INSERT
Pour accomplir la mรชme chose via pgAdmin, procรฉdez comme suit :
รtape 1) Connectez-vous ร votre compte pgAdmin.
รtape 2)
- Dans la barre de navigation de gauche, cliquez sur Bases de donnรฉes.
- Cliquez sur Dรฉmo.
รtape 3) Tapez la requรชte dans l'รฉditeur de requรชtes :
INSERT INTO Price SELECT id, price FROM Price2 WHERE EXISTS (SELECT id FROM Book WHERE Book.id = Price2.id);
รtape 4) Cliquez sur le bouton Exรฉcuter.
Le tableau des prix devrait maintenant รชtre le suivant :
Avec instruction UPDATE
Pour accomplir la mรชme chose via pgAdmin, procรฉdez comme suit :
รtape 1) Connectez-vous ร votre compte pgAdmin.
รtape 2)
- Dans la barre de navigation de gauche, cliquez sur Bases de donnรฉes.
- Cliquez sur Dรฉmo.
รtape 3) Tapez la requรชte dans l'รฉditeur de requรชtes :
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);
รtape 4) Cliquez sur le bouton Exรฉcuter.
Le tableau des prix devrait maintenant รชtre le suivant :
Avec l'instruction DELETE
Pour accomplir la mรชme chose via pgAdmin, procรฉdez comme suit :
รtape 1) Connectez-vous ร votre compte pgAdmin.
รtape 2)
- Dans la barre de navigation de gauche, cliquez sur Bases de donnรฉes.
- Cliquez sur Dรฉmo.
รtape 3) Tapez la requรชte dans l'รฉditeur de requรชtes :
DELETE FROM Price WHERE EXISTS (SELECT * FROM Price2 WHERE Price.id = Price2.id);
รtape 4) Cliquez sur le bouton Exรฉcuter.
Le tableau des prix devrait maintenant รชtre le suivant :
Tรฉlรฉchargez la base de donnรฉes utilisรฉe dans ce tutoriel





















