Menu
CoddyTech

Unterabfragen Teil 1

Teil des Abschnitts Grundlagen der SQL-Journey von Coddy. Lektion 38 von 72.

Unterabfragen ermöglichen es uns, mehrere Abfragen zu einer einzigen zusammenzufassen. Betrachten wir beispielsweise die folgende Tabelle employees:

idsalary
148
234
346
413
528

Wir benötigen eine Unterabfrage, weil wir WHERE salary > AVG(salary) nicht direkt verwenden können, da Aggregatfunktionen wie AVG() nicht in einer WHERE-Klausel verwendet werden können – sie können erst verwendet werden, nachdem die Daten gruppiert wurden.

SELECT id, salary
FROM employees
WHERE salary > (
    SELECT AVG(salary)
    FROM employees
);

Eine Unterabfrage hilft uns dabei, Mitarbeitende zu finden, die mehr als das durchschnittliche Gehalt des Unternehmens verdienen, indem sie zunächst den Durchschnitt berechnet (innere Abfrage) und anschließend diesen Wert verwendet, um Mitarbeitende zu filtern (äußere Abfrage).

Da der Durchschnitt: (48 + 34 + 46 + 13 + 28) / 5 = 33.8 beträgt, ist dies das Ergebnis der Abfrage:

idsalary
148
234
346
challenge icon

Aufgabe

Einfach

Verfügbare Tabellen und Spalten:

  • shop: price, quantity, category, list_date

Schreibe eine Abfrage, um alle Artikel (alle Spalten auswählen) zu finden, deren Preis über dem Durchschnittspreis aller Artikel liegt.

Verwende eine Unterabfrage in der WHERE-Klausel, um den Durchschnittspreis zu berechnen, und vergleiche dann den Preis jedes Artikels mit diesem Durchschnitt.

Probier es selbst

quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen

Übe selbstständig: SQL-Playground