PostgreSQL BESTAAT met voorbeelden

Wat is PostgreSQL Bestaat?

De EXISTS-operator test of een rij(en) bestaat in een subquery. Dit betekent dat de operator samen met een subquery wordt gebruikt. Er wordt gezegd dat aan de operator Exists is voldaan wanneer er ten minste één rij in de subquery wordt gevonden. U kunt deze bewerking samen met SELECT-, UPDATE-, INSERT- en DELETE-instructies gebruiken.

In deze PostgreSQL-zelfstudie leert u het volgende:

Syntaxis

Hier is de syntaxis voor de PostgreSQL EXISTS-instructie: |_+_|

De bovenstaande syntaxis laat zien dat de EXISTS-operator een argument opneemt, wat een subquery is. De subquery is gewoon een SELECT-instructie die moet beginnen met een SELECT * in plaats van een lijst met kolomnamen of expressies.

Met SELECT-instructie

Laten we eens kijken hoe u een SELECT-instructie kunt gebruiken met de EXISTS-operator. We hebben de volgende tabellen:

Boek:

Prijs:

Voer de volgende instructie uit: |__+_|

Dit geeft het volgende terug:

De bovenstaande opdracht zou alle records in de Boek-tabel moeten retourneren waarvan de id overeenkomt met de id van alle records van de subquery. Slechts één ID kwam overeen. Daarom is er slechts één record geretourneerd.

Met INSERT-instructie

We kunnen de EXISTS-operator gebruiken in een INSERT-instructie. We hebben de volgende 3 tabellen:

Boek:

Prijs:

Prijs2:

We kunnen dan het volgende statement uitvoeren: |_+_|

De prijstabel ziet er nu als volgt uit:

De rij met een id van 5 in de tabel met de naam Price2 kwam overeen. Dit record werd vervolgens ingevoegd in de prijstabel.

Met UPDATE-verklaring

We kunnen de EXISTS-operator gebruiken in een UPDATE-instructie.

Voer de volgende query uit: |__+_|

We werken de prijskolom van de prijstabel bij. Ons doel is om de prijzen van items die een id delen hetzelfde te laten zijn. Slechts één rij werd gematcht, namelijk 5.

Omdat de prijzen gelijk zijn, dat wil zeggen 205, is er echter geen update uitgevoerd. Als er een verschil was, zou er een update zijn gemaakt.

Met DELETE-instructie

Een PostgreSQL DELETE-instructie kan de EXISTS-operator gebruiken. Hier is een voorbeeld: |__+_|

De prijstabel ziet er nu als volgt uit:

De rij met een id van 5 is verwijderd.

Met pgAdmin

Laten we nu eens kijken hoe deze acties kunnen worden uitgevoerd met pgAdmin.

Met SELECT-instructie

Om hetzelfde te bereiken via pgAdmin, doet u dit:

Stap 1) Log in op uw pgAdmin-account.

Stap 2)

  1. Klik in de navigatiebalk aan de linkerkant op Databases.
  2. Klik op Demo.

Stap 3) Typ de query in de query-editor: |_+_|

Stap 4) Klik op de knop Uitvoeren.

Het zou het volgende moeten retourneren:

Met INSERT-instructie

Om hetzelfde te bereiken via pgAdmin, doet u dit:

Stap 1) Log in op uw pgAdmin-account.

Stap 2)

  1. Klik in de navigatiebalk aan de linkerkant op Databases.
  2. Klik op Demo.

Stap 3) Typ de query in de query-editor: |_+_|

Stap 4) Klik op de knop Uitvoeren.

De prijstabel zou er nu als volgt uit moeten zien:

Met UPDATE-verklaring

Om hetzelfde te bereiken via pgAdmin, doet u dit:

Stap 1) Log in op uw pgAdmin-account.

Stap 2)

  1. Klik in de navigatiebalk aan de linkerkant op Databases.
  2. Klik op Demo.

Stap 3) Typ de query in de query-editor: |_+_|

Stap 4) Klik op de knop Uitvoeren.

De prijstabel zou er nu als volgt uit moeten zien:

Met DELETE-instructie

Om hetzelfde te bereiken via pgAdmin, doet u dit:

Stap 1) Log in op uw pgAdmin-account.

Stap 2)

  1. Klik in de navigatiebalk aan de linkerkant op Databases.
  2. Klik op Demo.

Stap 3) Typ de query in de query-editor: |_+_|

Stap 4) Klik op de knop Uitvoeren.

De prijstabel zou er nu als volgt uit moeten zien:

Samenvatting

  • De EXISTS-operator test of een rij(en) bestaat in een subquery.
  • Het wordt gebruikt met een subquery en er wordt gezegd dat er aan is voldaan wanneer de subquery ten minste één rij retourneert.
  • Het wordt gebruikt in combinatie met SELECT-, UPDATE-, INSERT- en DELETE-instructies.

Download de database die in deze zelfstudie wordt gebruikt