Rozbudowywanie podzapytań w FROM
W poprzednim ćwiczeniu odkryłeś(-aś), że Anglia, Holandia, Niemcy i Hiszpania to jedyne kraje, w których rozegrano mecze z co najmniej 10 zdobytymi bramkami łącznie. Teraz przyjrzyjmy się bliżej tym meczom – kiedy się odbyły, w jakich sezonach i ile bramek padło na własnym boisku, a ile na wyjeździe.
Zwróć uwagę, że w tym ćwiczeniu przy kolumnach wybranych w zapytaniu głównym pominięto aliasy tabel. Wynika to z tego, że zapytanie główne pobiera dane z podzapytania, które traktowane jest jako jedna tabela.
To ćwiczenie jest częścią kursu
Data Manipulation in SQL
Instrukcje do ćwiczenia
- Uzupełnij podzapytanie wewnątrz klauzuli
FROM. Wybierz kolumnęnamez tabelicountryoraz kolumnydate,home_goal,away_goalitotal_goalsz tabelimatch. - Utwórz w podzapytaniu kolumnę sumującą bramki gospodarzy i gości – nazwij ją
total_goals. Posłuży ona do filtrowania zapytania głównego. - W zapytaniu głównym wybierz kolumny
country,date,home_goaliaway_goal. - Przefiltruj zapytanie główne, aby zwróciło tylko mecze z co najmniej 10 bramkami łącznie.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
SELECT
-- Select country, date, home, and away goals from the subquery
___,
date,
___,
away_goal
FROM
-- Select country name, date, home_goal, away_goal, and total goals in the subquery
(SELECT ___ AS country,
m.date,
___,
m.away_goal,
(___ + m.away_goal) AS total_goals
FROM match AS m
LEFT JOIN country AS c
ON m.country_id = c.id) AS subq
-- Filter by total goals scored in the main query
WHERE total_goals ___ ___;