PostgreSQL EXISTE avec des exemples

Qu’est-ce que PostgreSQL Existe ?

L’opérateur EXISTS teste si une ou des 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 avoir été rencontré 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.

Dans ce tutoriel PostgreSQL, vous apprendrez ce qui suit:

  • Syntaxe
  • Avec Instruction SELECT
  • Avec Instruction INSERT
  • Avec Instruction UPDATE
  • Avec Instruction DELETE
  • Avec pgAdmin

Syntaxe

Voici la syntaxe de l’instruction PostgreSQL EXISTS:

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 une instruction SELECT qui doit commencer par un SELECT * au lieu d’une liste de noms de colonnes ou d’expressions.

Avec l’instruction SELECT

Voyons comment utiliser une instruction SELECT avec l’opérateur EXISTS. Nous avons les tableaux suivants:

Réserver:

Prix:

Exécutez l’instruction suivante:

SELECT *FROM BookWHERE 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 de livres dont l’id correspond à l’id de tous les enregistrements de la sous-requête. Une seule pièce d’identité a été appariée. Par conséquent, un seul enregistrement a été renvoyé.

Avec l’instruction INSERT

, nous pouvons utiliser l’opérateur EXISTS dans une instruction INSERT. Nous avons les 3 tableaux suivants:

Livre:

Prix:

Prix2:

Nous pouvons alors exécuter l’instruction suivante:

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

Le tableau des prix est maintenant le suivant:

La ligne avec un id de 5 dans la table nommée Price2 a été appariée. Cet enregistrement a ensuite été inséré dans le tableau des prix.

Avec l’instruction UPDATE

, nous pouvons utiliser l’opérateur EXISTS dans une instruction UPDATE.

Exécutez la requête suivante:

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

Nous mettons à jour la colonne des prix du tableau des prix. Notre objectif est que les prix des articles partageant une pièce d’identité soient les mêmes. Une seule ligne a été appariée, c’est-à-dire 5.

Cependant, comme les prix sont égaux, c’est-à-dire 205, aucune mise à jour n’a été effectuée. S’il y avait une différence, une mise à jour aurait été faite.

Avec l’instruction DELETE

Une instruction DELETE PostgreSQL peut utiliser l’opérateur EXISTS. Voici un exemple:

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

Le tableau des prix est maintenant le suivant:

La ligne avec un id de 5 a été supprimée.

Avec pgAdmin

Voyons maintenant comment ces actions peuvent être effectuées en utilisant pgAdmin.

Avec l’instruction SELECT

Pour accomplir la même chose via pgAdmin, procédez comme suit :

Étape 1) Connectez-vous à votre compte pgAdmin.

Étape 2)

  1. Dans la barre de navigation du bouton gauche de la souris, cliquez sur Bases de données.
  2. Cliquez sur Démo.

Étape 3) Tapez la requête dans l’éditeur de requêtes:

SELECT *FROM BookWHERE 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)

  1. Dans la barre de navigation du bouton gauche de la souris, cliquez sur Bases de données.
  2. Cliquez sur Démo.

Étape 3) Tapez la requête dans l’éditeur de requêtes:

INSERT INTO PriceSELECT id, priceFROM Price2WHERE 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 l’instruction de MISE À JOUR

Pour accomplir la même chose via pgAdmin, procédez comme suit:

Étape 1) Connectez-vous à votre compte pgAdmin.

Étape 2)

  1. Dans la barre de navigation du bouton gauche de la souris, cliquez sur Bases de données.
  2. Cliquez sur Démo.

Étape 3) Tapez la requête dans l’éditeur de requêtes:

UPDATE PriceSET price = (SELECT price FROM Price2 WHERE Price2.id = Price.id)WHERE EXISTS (SELECT id, priceFROM Price2WHERE 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)

  1. Dans la barre de navigation du bouton gauche de la souris, cliquez sur Bases de données.
  2. Cliquez sur Démo.

Étape 3) Tapez la requête dans l’éditeur de requêtes:

DELETE FROM PriceWHERE 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 des 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

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

Previous post 2021 Rénovation et Construction d’hôtels à Disney World
Next post Tous les conseils dont vous avez besoin pour vous maquiller les yeux sur des Monolides