If you are looking for a dataset to practice SQL, build a dashboard, or simply settle bar arguments about 1998 World Cup stats, the Jfjelstul World Cup SQLite database is a fantastic resource.
# Write the data to SQL df.to_sql(table_name, conn, if_exists='replace', index=False) print(f"Created table: table_name") jfjelstul worldcup sqlite
The is the gold standard for historical men’s World Cup data – accurate, well‑structured, and immediately usable. Whether you are a football fan learning SQL, a data scientist building a predictive model, or a journalist investigating card bias, this dataset gives you a clean, offline‑ready foundation. If you are looking for a dataset to
Now that we have our database, let's fire up a SQL client (or use Python’s pd.read_sql ) to answer some interesting questions. Now that we have our database, let's fire
SELECT m.manager_name, COUNT(DISTINCT ma.match_id) AS matches_managed, SUM(CASE WHEN ma.winner_team_id = m.team_id THEN 1 ELSE 0 END) AS wins FROM matches ma JOIN managers m ON ma.tournament_id = m.tournament_id AND (ma.home_team_id = m.team_id OR ma.away_team_id = m.team_id) GROUP BY m.manager_id HAVING matches_managed > 5 ORDER BY wins DESC; Use code with caution. Practical Applications