Menu
Coddy logo textTech

Subqueries Part 1

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

Unterabfragen (Subqueries) ermöglichen es uns, mehrere Abfragen zu einer einzigen zu kombinieren. Betrachten wir zum Beispiel die folgende <strong>employees</strong>-Tabelle:

idsalary
148
234
346
413
528

Wir benötigen eine Unterabfrage, da 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, Mitarbeiter zu finden, die mehr als das durchschnittliche Gehalt des Unternehmens verdienen, indem zuerst der Durchschnitt berechnet wird (innere Abfrage) und dieser Wert dann zum Filtern der Mitarbeiter verwendet wird (äußere Abfrage).

Da der Durchschnitt (48 + 34 + 46 + 13 + 28) / 5 = 33.8 ist, lautet das Ergebnis der Abfrage wie folgt:

idsalary
148
234
346
challenge icon

Aufgabe

Einfach

Verfügbare Tabellen und Spalten:

  • <strong>shop</strong>: <strong>price</strong>, <strong>quantity</strong>, <strong>category</strong>, <strong>list_date</strong>

Schreiben Sie eine Abfrage, um alle Artikel zu finden (wählen Sie alle Spalten aus), bei denen der price höher ist als der durchschnittliche price aller Artikel.

Verwenden Sie eine Unterabfrage in der WHERE-Klausel, um den durchschnittlichen price zu berechnen, und vergleichen Sie dann den price 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