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.
If you just want to solve the mystery, go to mystery.knightlab.com. If you're new to SQL, you may want to start at our walkthrough. It won't teach you everything about SQL, but it should teach you all that you need to solve the mystery.
Before we built the web-based version, we designed this for people to download and solve on their own computer. If you're interested in that, read on.
- 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.
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;
This murder mystery was inspired by a crime in the neighboring Terminal City.
Original code for this project is released under the MIT License.
Original text and other content is released under Creative Commons CC BY-SA 4.0.
SQL query custom web components used here were adapted from code created and released to the public domain by Zi Chong Kao, creator of Select Star SQL.
Detective image by rambleron used under Vecteezy's free license.