There's been a Murder in SQL City! The SQL Murder Mystery is designed to be both a self-directed lesson to learn SQL concepts and commands and a fun game for experienced SQL users to solve an intriguing crime.
- sql-murder-mystery.db: This SQLite database file contains all the data that you will be working with.
- prompt: Depending on your experience level with SQL, find the prompt in either the prompt_experienced file or the prompt_beginner file.
- reference: This is a crash course on SQL concepts and commands.
- a SQLite environment of your choice: For beginners, we recommend using SQLiteStudio, which is a good graphical interface to use to inspect your data and write queries.
NEW: If you don't want to install anything, you can query a web-based version of the database published by Simon Willison using his awesome Datasette tool. If you do that, just download the beginner or experienced prompt file and get started.
-
For SQL beginners: start with the reference, read the prompt_beginner file, then get started by installing SQLiteStudio and loading the db file. If you get stuck at any point, feel free to refer back to the reference, or file a GitHub issue so we can know where our instructions need to be improved.
-
For experienced SQL users: read the prompt_experienced file, then download the sql-murder-mystery.db file and use a SQL environment of your choice to solve the mystery. You can use the reference to refresh your memory of SQL. Try to complete the activity all within your SQL environment (without writing down notes)!
Write the following queries in your SQL environment to check whether you've found the right murderer:
INSERT INTO solution VALUES (1, "Insert the name of the person you found here");
SELECT value FROM solution;
Joon Park
Cathy He
This murder mystery was inspired by a crime in the neighboring Terminal City.