Filtrare usando una sottoquery con un elenco
Il tuo obiettivo in questo esercizio è creare un elenco di squadre che non hanno mai giocato una partita nella loro città di origine. Usando una sottoquery, genererai un elenco di valori hometeam_ID univoci dalla tabella match non filtrata da escludere nella colonna team_api_ID della tabella team.
Oltre a filtrare usando una sottoquery a valore singolo (scalare), puoi creare un elenco di valori in una sottoquery per filtrare i dati in base a un insieme complesso di condizioni. Questo tipo di sottoquery genera una lista di riferimento a una colonna per la query principale. Finché i valori nel tuo elenco corrispondono a una colonna della tabella della query principale, non hai bisogno di usare una join — anche se l'elenco proviene da un'altra tabella.
Questo esercizio fa parte del corso
Manipolazione dei dati in SQL
Istruzioni dell'esercizio
- Crea una sottoquery nella clausola
WHEREche recuperi tutti i valorihometeam_idunivoci dalla tabellamatch. - Seleziona
team_long_nameeteam_short_namedalla tabellateam. Escludi tutti i valori della sottoquery nella query principale.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
SELECT
-- Select the team long and short names
___,
___
FROM ___
-- Exclude all values from the subquery
WHERE team_api_id ___ ___
(___ DISTINCT ___ FROM ___);