Skip to content
2 hidden cells
Intermediate SQL
Data Manipulation in SQL
Here you can access every table used in the course. To access each table, you will need to specify the soccer schema in your queries (e.g., soccer.match for the match table, and soccer.league for the league table).
Take Notes
Add notes about the concepts you've learned and SQL cells with queries you want to keep.
Add your notes here
DataFrameas
df
variable
SELECT
stage AS s,
AVG(home_goal + away_goal) AS avg_goals
FROM soccer.match
WHERE season = '2012/2013'
GROUP BY stage;Hidden output
DataFrameas
df
variable
-- Add your own queries here
SELECT *
FROM soccer.match
LIMIT 5Explore Datasets
Use the match, league, and country tables to explore the data and practice your skills!
- Use the
match,league, andcountrytables to return the number of matches played in Great Britain versus elsewhere in the world.- "England", "Scotland", and "Wales" should be categorized as "Great Britain"
- All other leagues will need to be categorized as "World".
- Use the
matchandcountrytables to return the countries in which the average number of goals (home and away goals) scored are greater than the average number of goals of all matches. - In a soccer league, points are assigned to teams based on the result of a game. Here, let's assume that 3 points are awarded for a win, 1 for a tie, and 0 for a defeat. Use the
matchtable to calculate the running total of points earned by the team "Chelsea" (team id 8455) in the season "2014/2015".- The final output should have the match date, the points earned by Chelsea, and the running total.
2 hidden cells
DataFrameas
df3
variable
WITH Chelsea_matches AS (
SELECT m.home_goal, m.away_goal, m.date,
CASE
WHEN m.hometeam_id = 8455 THEN 'Local'
WHEN m.awayteam_id = 8455 THEN 'Visitante'
END AS "Condicion de Localia"
FROM soccer.match m
WHERE (m.hometeam_id = 8455 OR m.awayteam_id = 8455)
AND m.date BETWEEN '2014-01-01' AND '2015-12-31')
select *, CASE
WHEN home_goal > away_goal AND "Condicion de Localia" = 'Local' THEN 3
WHEN home_goal < away_goal AND "Condicion de Localia" = 'Visitante' THEN 3
WHEN home_goal = away_goal THEN 1
ELSE 0
END AS Puntos,
SUM(CASE
WHEN home_goal > away_goal AND "Condicion de Localia" = 'Local' THEN 3
WHEN home_goal < away_goal AND "Condicion de Localia" = 'Visitante' THEN 3
WHEN home_goal = away_goal THEN 1
ELSE 0
END) OVER (ORDER BY date) AS puntos_acumulados
from Chelsea_matches