Filtern mit einer Unterabfrage
Eine andere Möglichkeit, über eine separate Tabelle zu filtern, ist die Verwendung einer Unterabfrage. Das Vorgehen ist wie folgt:
- Erstelle eine Unterabfrage, die eine Liste ausgibt.
- Füge in deiner Hauptabfrage eine
WHERE-Klausel hinzu, die auf diese Liste verweist.
Dein Ziel ist es, denselben Bericht wie in der letzten Übung zu erstellen, mit folgenden Merkmalen:
- Erste Spalte ist bronze_medals, also die Gesamtzahl von
bronze. - Zweite Spalte ist silver_medals, also die Gesamtzahl von
silver. - Dritte Spalte ist gold_medals, also die Gesamtzahl von
gold. - Es werden nur
summer_gamesberücksichtigt. - Der Bericht ist so gefiltert, dass nur Athletinnen und Athleten im Alter von 16 Jahren oder jünger enthalten sind.
Verwende in dieser Übung den Ansatz mit der Unterabfrage.
Diese Übung ist Teil des Kurses
Reporting in SQL
Anleitung zur Übung
- Erstelle eine Abfrage, die die Gesamtzahlen
bronze_medals,silver_medalsundgold_medalsaussummer_gamesabruft. - Richte eine Unterabfrage ein, die alle Athletinnen und Athleten mit 16 Jahren oder jünger ausgibt.
- Füge eine
WHERE-Klausel hinzu, die auf die Unterabfrage verweist, um auf 16 Jahre oder jünger zu filtern.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
-- Pull summer bronze_medals, silver_medals, and gold_medals
SELECT
____,
____,
____
FROM ____
-- Add the WHERE statement below
WHERE ____ IN
-- Create subquery list for athlete_ids age 16 or below
(SELECT ____
FROM ____
WHERE ____);