PostgreSQL Unterabfrage

PostgreSQL Unterabfrage
PostgreSQL ist eines der leistungsstärksten und benutzerfreundlichsten Datenbankmanagement-Tools. Es liefert einfache und intuitive Abfragen, sodass Sie SQL -Anweisungen leicht beherrschen und abrufen können.

In diesem Tutorial werden wir diskutieren, wie Sie Postgresql -Unterabfragen verwenden können. Mit Unterabfragen können Sie komplexe SQL -Abfragen erstellen, die stark lesbar und einfach zu bedienen sind.

Was ist eine Unterabfrage??

In Postgresql bezieht sich eine Unterabfrage auf eine Abfrage innerhalb einer Abfrage. Sie können Unterabfragen an typische Abfragen wie Select, wobei, von, haben und mehr.

Eine Unterabfrage wird auch als innere Anfrage bezeichnet.

Die grundlegende Syntax für eine PostgreSQL -Unterabfrage lautet:

Wählen Sie COL1, COL2 aus TB1 WHERE EXPR (SELECT COL1, COL2 aus TB1);

In diesem Fall repräsentieren die Aussagen innerhalb der Klammern die Unterabfrage. Sie führen vor der Ausführung der Haupt- oder Außenfrage aus.

Sobald die Unterabfrage das Ergebnis zurückgibt, verarbeitet der Hauptabfrage es und gibt die Ergebnisse an den Benutzer zurück.

In PostgreSQL kann die Reihenfolge durch nicht in einer Unterabfrage verwendet werden.

Beispiel PostgreSQL Unterabfrage

Lassen Sie uns die Verwendung einer Unterabfrage unter Verwendung der WHERE -Klausel veranschaulichen. Angenommen, wir haben eine Datenbank der Länder mit Spalten: Name, Country_ID und zwei Buchstaben Darstellungen.

Wir können eine Unterabfrage verwenden, um die Länder zu erhalten, in denen die ID größer als 800 ist.

Eine Beispielabfrage ist unten:

Wählen Sie Name, Two_letter, Country_ID aus Land, in dem Country_id in (Wählen Sie Country_id wobei Country_id> 800);

Im obigen Beispiel filtert die Unterabfrage die Länder mit einer ID von mehr als 800 und gibt das Ergebnis in die Hauptanfrage zurück.

Ein Beispielergebnis ist unten:

Beispiel 2

Angenommen, wir wollen Länder mit einer ID von mehr als 800 bekommen und mit dem Buchstaben u beginnen.

Wir können die Abfrage in einer Unterabfrage beenden wie:

Wählen Sie Name, Two_Letter, Country_ID aus Land, in dem Country_id in (Wählen Sie Country_ID aus, wobei Country_id> 800 und Two_Letter wie 'u%');

Die obige Abfrage funktioniert ähnlich wie die oben genannten. Es überprüft jedoch zwei Bedingungen gleichzeitig und gibt das Ergebnis in die äußere Abfrage zurück.

Beispiel 3

Obwohl wir die Reihenfolge nach Klausel in einer PostgreSQL -Unterabfrage nicht verwenden können, können wir eine Gruppe per Abfrage verwenden, um eine ähnliche Funktion auszuführen.

Betrachten Sie beispielsweise die Zahlungstabelle in der Sakila -Datenbank. Wir können eine Aktion ausführen als:

Wählen Sie Payment_id, Betrag AUS Zahlung, wo payment_id IN (Wählen Sie Payment_id AUS Zahlungsgruppe von Payment_id Limit 5);

Die obige Abfrage gibt die nach Zahlungs -ID gruppierten Ergebnisse zurück.

Beispiel 4

Wir können auch PostgreSQL mit anderen Aussagen verwenden. Zum Beispiel können wir bestimmte Datensätze löschen, die aus einer Unterabfrage zurückgegeben wurden.

Aus dem Film löschen, wo existiert (Wählen Sie Film_ID aus film, wo film_id> 100);
Wählen Sie * aus Filmlimit 5;

In der obigen Abfrage löschen wir den Film, in dem der Film_ID größer als 100 ist.

Es ist gut sicherzustellen, dass andere Personen, die die Datenbank verwenden.

Unterabfragepunkte

Es gibt nur wenige Punkte zu beachten, wenn sie mit Postgresql -Unterabfragen arbeiten.

  1. Schließen Sie die Unterabfragen mit Klammern ein.
  2. Stellen Sie sicher, dass die Unterabfrage einen Wert zurückgibt.
  3. Sie können Unterabfragen mit verschiedenen SQL -Operatoren verwenden, solange sie keinen Nullwert zurückgeben.

Schließen

In diesem Leitfaden haben wir besprochen, wie Abfragen in PostgreSQL geknüpft werden, ohne separate Abfragen zu verwenden.