Subqueries Oracle/PLSQL

In diesem Oracle-Lernprogramm wird die Verwendung von Oracle Unterabfragen mit Syntax und Beispielen erläutert.

Beschreibung

In Oracle ist eine Unterabfrage (subquery) eine Abfrage innerhalb einer Abfrage. Sie können Unterabfragen in Ihren SQL-Anweisungen erstellen. Diese Unterabfragen können sich in der WHERE-Klausel, der FROM-Klausel oder der SELECT-Klausel befinden.

WHERE-Klausel

Meistens wird die Unterabfrage in der WHERE-Klausel gefunden. Diese Unterabfragen werden auch als verschachtelte Unterabfragen bezeichnet.

Zum Beispiel:

Einschränkung: Oracle erlaubt bis zu 255 Unterabfragen in der WHERE-Klausel.

FROM-Klausel

Eine Unterabfrage kann auch in der FROM-Klausel gefunden werden. Diese werden Inline-Ansichten genannt.

Zum Beispiel:

In diesem Beispiel haben wir eine Unterabfrage in der FROM-Klausel wie folgt erstellt:

Diese Unterabfrage wurde mit dem Namen subquery1 als Alias bezeichnet. Dies ist der Name, der verwendet wird, um auf diese Unterabfrage oder eines ihrer Felder zu verweisen.

Einschränkungen
Oracle erlaubt eine unbegrenzte Anzahl von Unterabfragen in der FROM-Klausel.

SELECT-Klausel

Eine Unterabfrage kann auch in der SELECT-Klausel gefunden werden.

Zum Beispiel:

In diesem Beispiel haben wir eine Unterabfrage in der SELECT-Klausel wie folgt erstellt:

Die Unterabfrage wurde mit dem Namen subquery2 aliasiert. Dies ist der Name, der verwendet wird, um auf diese Unterabfrage oder eines ihrer Felder zu verweisen.

Der Trick beim Platzieren einer Unterabfrage in der Select-Klausel besteht darin, dass die Unterabfrage einen einzelnen Wert zurückgeben muss. Daher wird in der Unterabfrage häufig eine Aggregatfunktion wie SUM-Funktion, COUNT-Funktion, MIN-Funktion oder MAX-Funktion verwendet.