{"id":28374348,"url":"https://github.com/billwallis/sql-problems","last_synced_at":"2026-02-04T18:01:54.857Z","repository":{"id":236395635,"uuid":"792529726","full_name":"billwallis/sql-problems","owner":"billwallis","description":"Solutions to SQL problems.","archived":false,"fork":false,"pushed_at":"2025-10-07T06:33:14.000Z","size":290,"stargazers_count":9,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-07T08:34:39.912Z","etag":null,"topics":["sql"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/billwallis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-04-26T21:31:36.000Z","updated_at":"2025-10-07T06:33:16.000Z","dependencies_parsed_at":"2024-06-29T09:43:11.022Z","dependency_job_id":"7225c1de-37e1-4f89-b693-a09a51991402","html_url":"https://github.com/billwallis/sql-problems","commit_stats":null,"previous_names":["bilbottom/sql-problems","billwallis/sql-problems"],"tags_count":0,"template":false,"template_full_name":"billwallis/python-template","purl":"pkg:github/billwallis/sql-problems","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/billwallis%2Fsql-problems","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/billwallis%2Fsql-problems/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/billwallis%2Fsql-problems/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/billwallis%2Fsql-problems/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/billwallis","download_url":"https://codeload.github.com/billwallis/sql-problems/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/billwallis%2Fsql-problems/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29092713,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-04T03:31:03.593Z","status":"ssl_error","status_checked_at":"2026-02-04T03:29:50.742Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["sql"],"created_at":"2025-05-29T22:02:29.291Z","updated_at":"2026-02-04T18:01:49.849Z","avatar_url":"https://github.com/billwallis.png","language":null,"readme":"\u003cdiv align=\"center\"\u003e\n\n[![Python](https://img.shields.io/badge/Python-3.11+-blue.svg)](https://www.python.org/downloads/release/python-3110/)\n[![uv](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)](https://github.com/astral-sh/uv)\n[![GitHub last commit](https://img.shields.io/github/last-commit/billwallis/sql-problems)](https://shields.io/badges/git-hub-last-commit)\n[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/billwallis/sql-problems/main.svg)](https://results.pre-commit.ci/latest/github/billwallis/sql-problems/main)\n\n\u003c/div\u003e\n\n---\n\n# SQL Problems\n\nSolutions to SQL problems.\n\nI've only bothered solving the hardest free problems, and I'll add some notes on what I thought of the platform below.\n\n\u003e [!WARNING]\n\u003e\n\u003e This repository will contain spoilers for the problems. If you want to solve them yourself, do not look at the solutions.\n\n## Pre-requisites\n\nThis project uses [Docker](https://www.docker.com/) to spin up the databases:\n\n- https://docs.docker.com/get-docker/\n\n## Quick start\n\nJust run Docker's `compose` command.\n\n```bash\ndocker compose --profile build up --detach\ndocker compose down --volumes  # when you're finished\n```\n\nTo build all services, skip the `--profile build` flag; to customise which services to build, adjust the `docker-compose.yaml` file.\n\nYou can connect to the databases using any of your favourite SQL clients.\n\n## Reviews\n\nReviews of the platforms can be found at:\n\n- [src/reviews.md](src/reviews.md)\n\nThese are just my opinions, and you may have a different experience.\n\nThere were some sites that I loved (⭐), some that were okay (👍), and some that I didn't like at all (💩). Similarly, some sites are totally free (🆓) and others have paid features (💰). I didn't try any sites that were completely paid.\n\nThe platforms I've reviewed so far are listed below by their relative difficulty (for me).\n\n### 🟢 Easy\n\n- [SQL Island](https://sql-island.informatik.uni-kl.de/)👍🆓 ([review](src/reviews.md#sql-island))\n- [SQL Murder Mystery](https://mystery.knightlab.com/) 👍🆓 ([review](src/reviews.md#sql-murder-mystery))\n- [SQLNoir](https://www.sqlnoir.com/) ⭐🆓 ([review](src/reviews.md#sqlnoir))\n- [Analyst Builder](https://www.analystbuilder.com/) ⭐💰 ([review](src/reviews.md#analyst-builder))\n- [Learn SQL (SQL Practice)](https://www.sql-practice.com/) ⭐🆓 ([review](src/reviews.md#learn-sql-sql-practice))\n- [SQL Premier League](https://sqlpremierleague.com/challenges/) 👍💰 ([review](src/reviews.md#sql-premier-league))\n- [SQL Short Reads](https://sqlshortreads.com/sql-practice-problems/) 👍🆓 ([review](src/reviews.md#sql-short-reads))\n- [StrataScratch](https://platform.stratascratch.com/coding) 👍💰 ([review](src/reviews.md#stratascratch))\n- [Lost at SQL](https://lost-at-sql.therobinlord.com/) 💩🆓 ([review](src/reviews.md#lost-at-sql))\n\n### 🟠 Medium\n\n- [Zachary Thomas SQL Questions](https://quip.com/2gwZArKuWk7W) 💩🆓 ([review](src/reviews.md#zachary-thomas-sql-questions))\n- [NamasteSQL](https://www.namastesql.com/coding-problems) 💩💰 ([review](src/reviews.md#namastesql))\n- [DataLemur](https://datalemur.com/) ⭐🆓 ([review](src/reviews.md#datalemur))\n- [SQL Squid Game (DataLemur Game)](https://datalemur.com/sql-game) 👍🆓 ([review](src/reviews.md#sql-squid-game-datalemur-game))\n- [LeetCode](https://leetcode.com/problemset/database/) 👍💰 ([review](src/reviews.md#leetcode))\n- [HackerRank](https://www.hackerrank.com/domains/sql) ⭐💰 ([review](src/reviews.md#hackerrank))\n- [DataExpert.io](https://dataexpert.io/questions) 👍💰 ([review](src/reviews.md#dataexpertio))\n- [Advent of SQL](https://adventofsql.com/) 👍🆓 ([review](src/reviews.md#advent-of-sql))\n- [Claire Carrol's Advanced SQL Challenges](https://github.com/clrcrl/advanced-sql) ⭐🆓 ([review](src/reviews.md#claire-carrols-advanced-sql-challenges))\n- [8 Week SQL Challenge (Data with Danny)](https://8weeksqlchallenge.com/) ⭐🆓 ([review](src/reviews.md#8-week-sql-challenge-data-with-danny))\n\n### 🔴 Hard\n\n- [Interview Query](https://www.interviewquery.com/questions?tags=SQL) ⭐💰 ([review](src/reviews.md#interview-query))\n- [Noah's Rug (Hanukkah of Data)](https://hanukkah.bluebird.sh/5784/) ⭐🆓 ([review](src/reviews.md#noahs-rug-hanukkah-of-data))\n- [AdvancedSQLPuzzles](https://advancedsqlpuzzles.com/) ⭐🆓 ([review](src/reviews.md#advancedsqlpuzzles))\n- [Challenging SQL Problems](https://billwallis.github.io/sql-learning-materials/challenging-sql-problems/challenging-sql-problems/) 🆓 ([review](src/reviews.md#challenging-sql-problems))\n\n### ⭕ Skipped\n\nThere were some problem sites that I chose to skip completely:\n\n- [w3resource](https://www.w3resource.com/sql-exercises/): This has an impressive number of free questions (2,605!), but none of them are hard. Good for beginners that want an \"endless\" list of questions to practice on.\n- [CodeChef](https://www.codechef.com/learn): No free hard questions.\n- [Code360](https://www.naukri.com/code360/problem-lists/top-100-sql-problems): Email registration was broken. The \"hard\" and \"ninja\" questions all look fairly easy.\n- [SQL Police Department](https://sqlpd.com/): This uses a point-and-click interface, you don't actually write the SQL yourself. Might be good for complete beginners. Has some free \"cases\" to solve.\n- [SQL Practice](https://sqlpractice.io/practice-questions): No free hard questions (yet). Feels heavily AI-generated, so concerned about the quality of the data/questions/platform.\n\nFor clarity, I'm only reviewing problem sites and the following are (interactive) courses/tutorials, so I've also skipped these:\n\n- [Khan Academy](https://www.khanacademy.org/search?page_search_query=sql)\n- [SQLZoo](https://sqlzoo.net/wiki/SQL_Tutorial)\n- [Codecademy](https://www.codecademy.com/catalog/language/sql)\n- [SQLBolt](https://sqlbolt.com/)\n- [Udacity](https://www.udacity.com/catalog?searchValue=sql)\n- [DataCamp](https://www.datacamp.com/courses-all?q=sql)\n- [Coursera](https://www.coursera.org/search?query=sql)\n- [LearnSQL](https://learnsql.com/)\n- [Mode](https://mode.com/sql-tutorial)\n- [W3Schools](https://www.w3schools.com/sql/)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbillwallis%2Fsql-problems","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbillwallis%2Fsql-problems","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbillwallis%2Fsql-problems/lists"}