Subquery


Oft sind in SQL für kompliziertere Aufgabenstellungen Subqueries bzw. Unterabfragen notwendig. Man kann in SQL Abfragen beliebig oft verschachteln. Unterabfragen sind sowohl im SELECT als auch im FROM und im WHERE möglich, im SELECT werden sie allerdings eher selten verwendet.

Um zum Beispiel alle Kunden auszugeben, die denselben Nachnamen haben, wie der Kunde mit der ID 612, könnte man folgende Abfrage verwenden:

SELECT firstname, lastname FROM Customer WHERE LastName = (SELECT LastName FROM Customer WHERE Id = 612);
text/x-csharp

Hier wird zuerst in einer Unterabfrage der Nachname des Kunden mit der entsprechenden ID ermittelt. Dieser Wert wird in der äußeren Abfrage mit dem Nachnamen der Kunden verglichen.

Die Ausgabe dieser Abfrage:

In einer Abfrage, bei der im WHERE mit einem = ein Wert mit dem Ergebnis einer Unterabfrage verglichen wird, ist natürlich auch darauf zu achten, dass die Unterabfrage nur ein Ergebnis liefert, da sonst nicht klar ist, mit welchem Wert verglichen werden soll. Es ist auch möglich, in der Unterabfrage auf Werte der äußeren Abfrage zuzugreifen, indem die Tabelle, die in der äußeren Abfrage im FROM verwendet wurde, in der inneren Abfrage mit ihrem Namen referenziert wird. Ein Beispiel dazu findet sich bei den Operatoren, bei denen solche Abfragen oft praktisch sind.

WHERE Statement

Tutorial zur Verwendung von WHERE Statements mit Erklärung zu AND und OR

Vergleichsoperatoren

Tutorial zu den Vergleichsoperatoren IN, ANY/SOME, ALL und EXISTS

LIKE Operator

Tutorial zum Pattern matching mit dem LIKE Operator

UNION Operator

Tutorial zur Vereinigung von zwei Abfragen mit dem UNION Operator

SQL Tutorials

Hast du noch Fragen oder bist dir bei einer Aufgabe unsicher? Wirf einen Blick auf die SQL Tutorials!

Übersicht der Katas

Hier findest du die Erklärung zum Begriff "Katas" und eine Übersicht aller Programmierübungen.

Dojo - virtueller Übungsraum

Löse die Dojo-Aufgaben und werde Programmier-Profi!

Du suchst deine nächste Herausforderung?

Du findest sie im SQL Dojo!

SQL Dojo

Über Digital Dojo

Das Digital Dojo ist der virtuelle Übungsraum von COUNT IT.

Angehende Programmierer*innen, Code-Neulinge, Wiedereinsteiger*innen und Fortgeschrittene finden hier das nötige Rüstzeug für ihre Karriere.

Du möchtest deine Lehre bei COUNT IT starten? Dann bist du hier richtig - besiege deine Gegner im Dojo Game und sichere dir deine Lehrstelle!

Inspire your career.

Newsletter abonnieren

Der COUNT IT Newsletter liefert viermal jährlich interessante Neuigkeiten über das Unternehmen. Gleich anfordern!