SQL: SUBQUERY

Eine Unterabfrage auch SUBQUERY genannt fragt benötigte Informationen durch eine eigene Abfrage ab. Eine SUBQUERY ist immer Teil eines übergeordneten SELECT Befehls. Die allgemeine SQL-Syntax lautet:

SELECT column_name FROM table WHERE column_name OPERATOR (SELECT column_name FROM table);

Beachte:

  • die Unterabfrage muss in runden Klammer gesetzt werden
  • liefert die SUBQUERY einen einzelnen Datensatz, verwendet man Vergleichsoperatoren
  • liefert die SUBQUERY mehrere Datensätze, verwendet man Mengenoperatoren

Zum besseren Verständnis stellen wir die Unterabfrage schrittweise zusammen:

Die Abfrage

SELECT MAX(LENGTH) FROM film;

liefert als Ergebnis z.b. den Wert 185:

Da man nun diesen Wert kennt, kann man gezielt die zugehörige Datensätzen abfragen:

SELECT title, length FROM film WHERE length = 185;

Diese beiden Abfragen kann man jetzt mit Hilfe einer SUBQUERY in einen Befehl zusammenfassen:

SELECT title, length FROM film WHERE LENGTH = (SELECT MAX(LENGTH) FROM film);

Da die Unterabfrage nur einen Wert ausgibt, können wir den Vergleichsoperator „=“ nutzen.

(Visited 2.004 times, 1 visits today)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert