C / DS ยท SQL workshop
SELECT * FROM suspects
The dashboard is empty. Naijei's cleanup commit looks suspicious. Follow the evidence through four stages, then compete to build a replacement demo.
Each stage
Follow the presenter using the tiny Demo together tables. Click Your investigation when ready. Run executes SQL; Check findings checks your written discoveries. Use Tables & columns and optional hints if stuck. Each view saves its own query in this browser.
SQL reference
SELECT columns FROM table_name WHERE condition AND another_condition; SELECT r.run_id, m.name FROM practice_runs r JOIN practice_members m ON r.member_id = m.member_id; SELECT * FROM practice_runs WHERE requested_env IS NULL; SELECT event_id, COUNT(*), MAX(rows_affected) FROM practice_logs GROUP BY event_id;
Model tournament
Create a team or resume with its access code. Choose your three best valid models, insert their IDs into showcase and remove the seeded test entry. Highest average wins; equal best scores are ordered by completion time. Source scores are fixed. The organizer starts and freezes the round.
The shared room has two read-only tables. model_results has each model's name and measurements. models has that name and the id. Showcase stores the id, so match the name before you insert or delete.
The same shapes are in the in-app SQL reference. These tiny examples use made-up tables:
SELECT name, score FROM items WHERE score > 80; SELECT * FROM items WHERE status = 'ready' AND score >= 90; SELECT * FROM items ORDER BY score DESC; SELECT code, COUNT(*) FROM items GROUP BY code HAVING COUNT(*) = 1; SELECT * FROM items WHERE code IN (SELECT code FROM items WHERE active = 1); SELECT people.name, badges.door FROM people JOIN badges ON people.name = badges.name; INSERT INTO entries (id) VALUES (12); DELETE FROM entries WHERE id = 4;
Run one statement at a time. Preview rows with SELECT before deleting. The investigation evidence stays read-only. All events are fictional.