Filtern mithilfe einer Unterabfrage mit einer Liste
Dein Ziel in dieser Übung ist es, eine Liste von Mannschaften zu erstellen, die noch nie ein Spiel in ihrer Heimatstadt gespielt haben. Mit einer Unterabfrage erstellst du eine Liste eindeutiger hometeam_ID
-Werte aus der ungefilterten match
-Tabelle, die du in der team_api_ID
-Spalte der team
-Tabelle ausschließen kannst.
Neben der Filterung mit einer einwertigen (skalaren) Unterabfrage kannst du auch eine Liste von Werten in einer Unterabfrage erstellen, um Daten auf der Grundlage einer komplexen Reihe von Bedingungen zu filtern. Diese Art der Unterabfrage erzeugt eine einspaltige Referenzliste für die Hauptabfrage. Solange die Werte in deiner Liste mit einer Spalte in der Tabelle deiner Hauptabfrage übereinstimmen, brauchst du keinen Join zu verwenden – selbst wenn die Liste aus einer anderen Tabelle stammt.
Diese Übung ist Teil des Kurses
Datenmanipulation in SQL
Anleitung zur Übung
- Erstelle eine Unterabfrage in der
WHERE
-Klausel, die alle eindeutigenhometeam_ID
-Werte aus der Tabellematch
abruft. - Wähle
team_long_name
undteam_short_name
aus der Tabelleteam
aus. Schließe alle Werte aus der Unterabfrage in der Hauptabfrage aus.
Interaktive Übung zum Anfassen
Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.
SELECT
-- Select the team long and short names
___,
___
FROM ___
-- Exclude all values from the subquery
WHERE team_api_id ___ ___
(___ DISTINCT ___ FROM ___);