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:
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!