PostgreSQL Existe avec l'exemple de sélection, d'insertion, de mise à jour et de suppression
Qu'est-ce qui existe dans PostgreSQL?
La PostgreSQL EXISTE L’opérateur teste si une ou plusieurs lignes existent dans une sous-requête. Cela signifie que l'opérateur est utilisé avec une sous-requête. L'opérateur Exists est dit satisfait lorsqu'au moins une ligne est trouvée dans la sous-requête. Vous pouvez utiliser cette opération avec les instructions SELECT, UPDATE, INSERT et DELETE.
Postgres existe, syntaxe de requête
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 Existe avec l'instruction SELECT
Voyons comment utiliser une instruction SELECT avec l'opérateur EXISTS. Nous avons les tableaux suivants :
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 Existe avec l'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.
Postgres existe avec l'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.
Postgres existe avec l'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 Exists Déclaration utilisant pgAdmin
Voyons maintenant comment ces actions peuvent être effectuées à l'aide de pgAdmin :
Comment utiliser la requête Existe dans PostgreSQL avec l'instruction SELECT utilisant pgAdmin
Vous trouverez ci-dessous les étapes pour utiliser la requête Existe dans PostgreSQL avec l'instruction SELECT utilisant pgAdmin :
Étape 1) Connectez-vous à votre compte pgAdmin
Ouvrez pgAdmin et connectez-vous à votre compte en utilisant vos informations d'identification
Étape 2) Créer une base de données de démonstration
- Dans la barre de navigation à gauche, cliquez sur Bases de données.
- Cliquez sur Démo.
Étape 3) Tapez la requête
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) Exécuter la requête
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 à 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 à 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 à 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 :
Résumé
- L'opérateur EXISTS teste si une ou plusieurs lignes existent dans une sous-requête.
- Il est utilisé avec une sous-requête et est dit satisfait lorsque la sous-requête renvoie au moins une ligne.
- Il est utilisé avec les instructions SELECT, UPDATE, INSERT et DELETE.
Téléchargez la base de données utilisée dans ce tutoriel