Subqueries Part 1
Teil des Abschnitts Grundlagen der SQL-Journey von Coddy — Lektion 38 von 72.
Unterabfragen ermöglichen es uns, mehrere Abfragen zu einer zu kombinieren. Zum Beispiel betrachten Sie die folgende <strong>employees</strong>-Tabelle:
| ID | Gehalt |
|---|---|
| 1 | 48 |
| 2 | 34 |
| 3 | 46 |
| 4 | 13 |
| 5 | 28 |
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 nur 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 verdienen als das durchschnittliche Gehalt des Unternehmens, indem sie zuerst den Durchschnitt berechnet (innere Abfrage) und dann diesen Wert verwendet, um Mitarbeiter zu filtern (äußere Abfrage).
Da der Durchschnitt (48 + 34 + 46 + 13 + 28) / 5 = 33.8 beträgt, ist dies das Ergebnis der Abfrage:
| ID | Gehalt |
|---|---|
| 1 | 48 |
| 2 | 34 |
| 3 | 46 |
Aufgabe
EinfachVerfügbare Tabellen und Spalten:
<strong>shop</strong>:<strong>price</strong>,<strong>quantity</strong>,<strong>category</strong>,<strong>list_date</strong>
Schreibe eine Abfrage, um alle Artikel zu finden (alle Spalten auswählen), deren Preis höher ist als der Durchschnittspreis aller Artikel.
Verwende eine Unterabfrage in der WHERE-Klausel, um den Durchschnittspreis zu berechnen, und vergleiche dann den Preis jedes Artikels mit diesem Durchschnitt.
Spickzettel
Subqueries ermöglichen das Kombinieren mehrerer Abfragen zu einer. Sie sind nützlich, wenn Sie Aggregatfunktionen wie AVG() nicht direkt in einer WHERE-Klausel verwenden können.
Grundlegende Subquery-Syntax:
SELECT column1, column2
FROM table_name
WHERE column1 > (
SELECT AVG(column1)
FROM table_name
);Die Subquery (innere Abfrage) wird zuerst ausgeführt, um den Durchschnitt zu berechnen, dann verwendet die äußere Abfrage dieses Ergebnis, um die Daten zu filtern.
Probier es selbst
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4More Keywords
The IN keywordThe BETWEEN keywordThe LIKE keywordThe AS keywordRecap - Cellphone Models2Conditions
Conditions BasicsThe AND keywordThe OR keywordThe NOT keywordMultiple Conditions CombinedParenthesisBooleans5Arithmetic Operations
Mathematical OperatorsMathematical ColumnsThe Modulo OperationThe ROUND() Function3Specific Return Format
Null valuesSort Results Part 1Sort Results Part 2Recap - Cyber Security FirmLimit number of recordsRecap - Vehicle Factory6Intro Challenges
Recap - Parliamentary ElectionRecap - Police Criminal ArrestRecap - Bar Beverage ContainerRecap - Engineer new columns