『Ghost in the SQL Data』はSQL学習になる?体験版はJOIN・GROUP BYまで、10月29日発売の推理ゲームを検証
本記事にはアフィリエイト広告(Amazon・楽天市場等)のリンクが含まれています。
体験版の2件でJOIN・GROUP BYまで書く推理ゲームを検証
「SQLが学べるゲーム」には、構文を選択肢から選ぶだけのものもあります。参考書の練習問題が続かなかった人が知りたいのは、遊び終えたあとに実際のデータベースでクエリを書けるようになるのか、という点でしょう。
2026年10月29日にSteamで発売される『Ghost in the SQL Data』は、SQLの入門用としては実用的です。無料体験版の最初の2件だけで、SELECTとWHEREから、COUNTやSUMの集計、GROUP BY・HAVING、2つの表をつなぐJOINまで書かせます。答え合わせは、実行して返ってきた行が事件の解決に必要な行と一致しているかで行われます。
ただし、テーブル設計や更新系のSQL、速度の調整といった実務の後半は扱いません。補完機能やテーブル構造の一覧もありません。体験版のSteamレビューは「入門教材として優秀」と「推理の余地が少なく翻訳が読みにくい」に割れています。無料の体験版で最初の1件を最後まで進め、日本語の指示が読めるか、GuidedとExpertのどちらが合うかを確かめてから決めるのが確実です。
目次
概要火災の14分前の通報をSQLで証明する推理ゲーム
『Ghost in the SQL Data』は、Isaac MENARD氏が個人で開発・販売する推理ゲームです。Steamの紹介文は「火災が始まる十四分前に、誰かがそれを通報していた。通報センターのデータをSQLで調べ、それを証明せよ」という一文で始まります。プレイヤーは事件ごとに用意されたデータベースへクエリを書き、返ってきた記録から容疑者を絞り込んでいきます。
Steamで告知されている事件のまとまりは2つです。学校の放火犯を通報センターのデータベースから探すものと、パリの地下鉄で人の移動記録を追って犯人を突き止めるものです。簡単なレベルは基礎を覚えるためのもので、難しいレベルではデータを扱う捜査官の立場で事件に挑みます。1件解くごとに新しい句を1つ覚える設計で、8月時点のストアページでは、題材として火災のほかに死亡事件、消えたお金、嘘をつく機械が挙げられていました。

| 項目 | 内容 |
|---|---|
| 発売日 | 2026年10月29日(Steam) |
| 価格 | 未発表(10月6日時点でSteamストアに表示なし) |
| 対応OS | Windows・macOS |
| 日本語 | 対応。ただしテーブル名と記録データは全言語で英語に固定 |
| 体験版 | 無料。最初の3件を収録(10月3日の発売日告知の時点) |
| 開発・販売 | Isaac MENARD |
| 生成AIの使用 | プログラミングの補助と翻訳に使用(Steamで開示) |
| その他 | Steam実績、レベルエディター付き |
体験版は2026年9月のSteam Programming Festに合わせて公開されました。公開前の告知では「最初の2件、プレイ時間は1〜2時間ほど」とされ、10月3日の発売日告知では「最初の3件」が遊べると案内されています。体験版は製品版の発売まで公開を続けると告知されているので、発売前に無料で中身を確かめられます。
判定正解は書いたSQLではなく返ってきた行で決まる
各チェックポイントには目標の文章と、「EXPECTED SHAPE(期待される結果の形)」が表示されます。たとえばパリの地下鉄の事件では「1回の通過ごとに1行」と書かれ、返すべき列の並びが見本で示されます。クエリを書いて実行し、結果が合っていればVERIFYで次へ進む流れです。
判定の対象は、書いたSQLの文字列ではなく、実行して返ってきた行です。クエリは事件資料から作った実際のデータベースに送られ、キーワードを並べただけでは先へ進めません。取り出した行が、事件を解決する行と一致する必要があります。体験版の日本語レビューには、ORで例示された条件をINで書いても通ったという報告が複数あります。9月13日のアップデートでは列の順番も判定から外れ、SELECT at_time, kind, sourceでもSELECT source, kind, at_timeでも正解になりました。
SELECT on_date, at_time, site, source
FROM dispatch_log
WHERE subject = 'Fire'
AND on_date = '2026-10-14';
上は最初の事件の表で使われている列名に合わせた書き方の例です。返ってくる行が同じなら、条件の順番を入れ替えても、ORをINに書き換えてもかまいません。教材に書かれた一文を再現する練習ではなく、欲しい行を取り出せたかどうかで進む作りです。
答えを自由記述の欄に入力させてほしいという要望もSteamコミュニティに出ましたが、開発者は今の仕組みを維持すると返答しています。
例外はチュートリアルの途中です。体験版では、JOINを使った完成形のクエリを先に書いても、途中の段階のクエリを一度実行しないと先へ進まなかったという報告がありました。結合条件をc.incident_id = d.idとd.id = c.incident_idのどちらで書くかまで見本どおりでないと通らない場面もあり、開発者は修正中と答えています。
9月15日、開発者だと名乗るプレイヤーが、体験版の入力欄でステージの表を削除して進行不能にできること、SQLエンジンのバージョンを取得できること、ステージの範囲外の表まで見えることをSteamコミュニティで報告しました。開発者は次のアップデートで修正すると返答しています。キーワードの有無を照らし合わせるだけの疑似的な入力欄ではなく、本物のデータベースに問い合わせている作りだということです。DROPなどの書き換え系の命令は進行不能の原因になるので、試さないようにしてください。
学べる範囲体験版の2件でSELECTからJOINまで進む
1件目の通報記録の事件だけで、基本の検索から集計、表の結合まで一通り書くことになります。2件目の地下鉄の事件では、それを組み合わせて使います。
| 段階 | 出てくるSQL | 使う場面 |
|---|---|---|
| 表を読む | SELECT *、FROM、列の指定 | 1件目の冒頭。SELECT * FROM dispatch_logで1年分2,400行の通報記録を出すところから始まる |
| 絞り込む | WHERE、AND、LIKE | 日付や地区で通報を絞る。LIKEは「'%fire%'のように、続きが入る位置に%を置く」とヒントで案内される |
| 数える・まとめる | COUNT(*)、SUM、COUNT(DISTINCT …)、GROUP BY、HAVING | 1件目の後半。2件目には駅ごとの通過回数を数え、棒グラフにする画面もある |
| 並べる・切る | ORDER BY、LIMIT | ORDER BYを付けずにLIMITを使うと、どの行が返るかはSQL任せになると注意が出る |
| 表をつなぐ | 別名(AS)、JOIN … ON | 1件目の終盤と2件目。「validationsをsupportsにJOINして読め」という課題がある |

1件目を終えたプレイヤーは、WHERE・ANDから集計、GROUP BY、HAVING、ORDER BY、LIMIT、別名、JOIN・ON、COUNT(DISTINCT)、SUMへと積み上がる構成だったとまとめています。ほかのSQL推理ゲームでJOINを使ったことはあっても、ONの意味がようやく腑に落ちたという感想です。表を1つと別名から始め、2つ目の表を足し、JOINを書き、ONで何と何を対応させているかを説明してから条件を足す、という順番で教えています。
ORDER BYなしのLIMITへの注意は、実務でもそのまま役に立つ内容です。並び順を指定しなければ、どの行が先頭に来るかはデータベース任せで、同じクエリでも結果が変わることがあります。構文だけでなく、結果の読み違いを防ぐ注意まで出してくれるのは教材として親切です。
製品版の後半でサブクエリやウィンドウ関数まで扱うかは、10月6日時点で公表されていません。データを書き換えるINSERT・UPDATE・DELETEについては、後述のとおり開発者が入力を封じる修正を予告しているので、扱わない前提で考えておくのが自然です。
モードGuidedとExpertで手助けの量が違う
9月の体験版公開時点では、全員が同じチュートリアルを通る作りでした。WHEREを足すチェックポイント、続けてANDを足すチェックポイントというように1語ずつ教え、入力すべきクエリを薄い文字で表示して、なぞり書きさせていました。

SQLを知っている人には「答えを書き写しているだけ」になりやすい作りです。そこで9月13日のアップデートで、最初の5件の進め方が2種類に分かれました。
| 項目 | Guided | Expert |
|---|---|---|
| 想定する人 | SQLを初めて書く人 | すでにSQLを書ける人(開発者は「プログラマー向け」とも表記) |
| チェックポイント数 | 最初の5件で27 | 最初の5件で13 |
| 入力すべきクエリ | 薄い文字で表示され、なぞって入力する | 表示されない |
| 刑事の解説 | 横について、1句ずつ説明する | 最初に机の使い方を案内したあとは話さない |
ただ、Expertでも課題の文章が「どの表を調べ、どの列を返すか」まで指定する場面は残っています。手助けを減らした設定でも、どの表を使うか、何行返るかまで書かれていて考える余地が少ないという否定的なレビューがありました。日本語のレビューにも「推理ゲームというより教材」という評価があります。
SQLを初めて書くならGuidedで構いません。経験者はExpertを選んだうえで、体験版の範囲は推理よりSQLのパズルに近いと考えておくと、期待とのずれが小さくなります。2件目の地下鉄の事件では、ボードに証拠を自由に貼って整理する要素が増え、捜査らしさが強まったという声もあります。
実務との距離身につくのは問い合わせる力、設計と運用は別に学ぶ
このゲームで練習できるのは、すでにあるデータから必要な行を取り出す「問い合わせ」の部分です。データ分析やWebアプリのバックエンドで最初に任される作業に近く、ここが書けるようになる価値は小さくありません。ただ、仕事でSQLを扱うときに必要な知識の半分ほどは、このゲームの外にあります。
- 表を見て、どの列で絞るかを決める
- 集計とGROUP BY・HAVINGの使い分け
- JOINのONで行同士を対応させる考え方
- ORDER BYなしのLIMITなど、結果の読み違いを防ぐ注意
- INSERT・UPDATE・DELETEなどの書き換え系
- テーブル設計と正規化
- インデックスや実行計画を使った速度の調整
- トランザクションと権限の管理
道具の面でも差があります。体験版には入力の補完機能がなく、1件目では列名を確かめるのに別のタブでSELECT *を実行する必要があります。2件目からはボードに表の構造を示すカードが並びますが、入力欄の横に常に表示されるわけではありません。補完やテーブル構造の表示を求める声はSteamコミュニティにも複数上がっています。日本語レビューには「普段どれだけ補完機能に頼っていたか実感した」という感想もありました。仕事で使うデータベースの操作ツールには補完も構造の一覧もあるので、全部を手で打つのは練習のための不便だと割り切ったほうがよいでしょう。
もう一つ、データベース製品ごとの違いも出てきます。体験版のヒントには「%を付けないLIKEは=と同じ」とありましたが、プレイヤーからdistrict = 'harbor'とdistrict LIKE 'harbor'で結果が違うと指摘されました。このゲームの中では、=は大文字と小文字を区別し、LIKEは区別しないためです。開発者はヒントを修正すると返答しています。
この扱いはデータベース製品によって異なります。たとえばPostgreSQLのLIKEは大文字と小文字を区別し、区別しない検索には独自のILIKEを使います。ゲームで覚えたSQLは主要なデータベースで通じますが、こうした細部は、あとで使う製品の公式ドキュメントで確かめる必要があります。
先行作SQL Murder MysteryやDatabase Detectiveとの違い
SQLで事件を解くという発想そのものは、このゲームが初めてではありません。有名なのは、米ノースウェスタン大学のKnight Labが公開している『SQL Murder Mystery』です。ブラウザで無料で遊べ、SQL Cityで起きた殺人事件の犯人をSQLiteのデータベースから探します。初心者向けの手順解説と、経験者向けの問題文が用意されています。公式ページ自身は「完全な入門講座というより練習用」と位置づけ、本格的に学ぶなら入門講座の『Select Star SQL』を勧めています。
Steamでは、2026年7月17日に『Database Detective: Minor Crimes Division』が発売されています。最初に20ページ足らずの入門テキストを渡され、10件の事件をSQLで解いていく作品です。後半はゲーム内のWebサイトも調べて事件を組み立てます。Steamレビューは「圧倒的に好評」ですが、対応言語は英語だけです。
| 作品 | 遊び方・価格 | 日本語 | 向いている人 |
|---|---|---|---|
| Ghost in the SQL Data | Steam。価格は未発表、体験版は無料 | 対応 | 日本語で、基礎から順に教わりながら進めたい人 |
| SQL Murder Mystery | ブラウザで無料 | 非対応 | 英語で、1つの事件を自分のペースで解いてみたい人 |
| Database Detective | Steam。通常価格1,500円 | 非対応 | 英語に抵抗がなく、表を並べて自由に調べたい人 |
この中で日本語に対応しているのは『Ghost in the SQL Data』だけです。体験版のコミュニティには『Database Detective』と比べる投稿もあり、表を並べて自由に調べられる点ではあちらのほうが快適だという意見がありました。こちらの持ち味は、チュートリアルの段階分けと、結果をグラフにしてボードへ貼る仕組みです。
同じ「プログラミングを題材にしたゲーム」でも、信号機に状態の移り変わりを組み込む『If 赤 Then 停止』は、機械をどう動かすかを考えるゲームでした。『Ghost in the SQL Data』は、すでにある大量の記録から何を読み取るかを考えるゲームで、学ぶ対象がはっきり違います。
日本語ローマ字だったテーブル名は英語に統一された
翻訳には生成AIが使われていることが、Steamストアで開示されています。体験版の公開直後は、テーブル名まで各言語に訳されていました。日本語ではseikyuu_daichou(請求台帳)のような、ローマ字の表名を入力する必要がありました。
「SQLを読む前に、独自の名前を覚えなければならない」と3件のレビューで指摘され、9月13日のアップデートでテーブル名は英語に統一されました。記録の中身も、すべての言語で英語に固定されています。日本語の体験版レビューにも「より自然な英語名にアプデされたのは英断」という評価がありました。実際の開発現場でもテーブル名や列名は英語が基本なので、学習用としてはこちらのほうが応用が利きます。
会話文の翻訳も、指摘を受けて直されています。開発者は、意味が通じないと引用された相棒刑事のセリフを書き直した例を挙げ、ほかの文章も修正したと説明しました。それでも9月18日以降の日本語レビューには、問題文の日本語が分かりにくく何を求められているのかを理解するのに時間がかかった、という声が残っています。開発者は英語の文章についても、文章量を減らして知人に確認してもらう方針を示しました。
指示の意味が取れないときは、期待される結果の形に並んだ列名を見ると、何を返せばよいかの手がかりになります。それでも分からなければ、設定で言語を英語に切り替えて原文と見比べると確実です。
体験版の評判Steamレビューは「やや好評」で評価が割れている
体験版のSteamレビューは、10月6日時点で92件中69件が好評の「やや好評」です。好意的なレビューは、教材としての作りを評価しています。日本語のレビューでは、構文を間違えるとすぐ指摘され、直し方の助言が出ること、構文の例文をすぐ見られること、詰まっても3段階のヒントで解答にたどり着けることが挙げられていました。

上の画面では、データベースの生のエラーではなく「クエリが途中で終わっている。最後の句が、列か値か閉じかっこを待っている」という説明が表示されています。クエリが壊れたときは理由が説明され、原因になった単語に下線が引かれます。SQLを書き始めた人がつまずきやすいのは、エラーの文面から直す場所を読み取れないことなので、ここは普通の学習環境より親切です。
否定的なレビューで多いのは、先に触れた翻訳の読みにくさと、推理の余地の少なさです。ほかに、チェックポイントごとに書いたクエリが消える、表の構造を見るために毎回SELECT *を実行する必要がある、といった操作面の不満もあります。ただ、開発者はSteamコミュニティの報告に個別に返答し、UIの拡大縮小やヒントの誤りなどを9月中に何度も修正しています。
動作環境内蔵GPUで動く、気にするのは画面の広さ
| 項目 | 最低動作環境 | 推奨環境 |
|---|---|---|
| OS | Windows 10(64bit) | Windows 10 / 11(64bit) |
| CPU | デュアルコア 2.0GHz(Intel Core i3) | クアッドコア 2.5GHz以上 |
| メモリ | 4GB | 8GB |
| グラフィック | Intel HD Graphics 4000(WebGL / DirectX 11対応) | Intel Iris Xe / AMD Vega 8 |
| ストレージ | 1GB | 1GB |
推奨環境でもノートPCの内蔵GPUで足りる水準で、ゲーミングPCは必要ありません。macOS版は最低がmacOS 11・Apple M1またはIntel Core i5・メモリ4GB、推奨はメモリ8GBです。
性能より効いてくるのは画面の広さです。クエリの入力欄、結果の表、課題の文章、ボードを行き来するゲームなので、日本語レビューには、画面が大きくないノートPCでは結果をボードに貼っていくのが大変だという声がありました。WQHDの高解像度で文字が小さすぎる問題は、9月10日の更新で改善しています。外部モニターをつなげる環境なら、そのほうが遊びやすいでしょう。
判断体験版の最初の1件で確かめる3つのこと
製品版の価格はまだ出ていませんが、体験版が無料なので、買うかどうかは遊んでから決められます。最初の1件を進めながら、次の3点を確かめてください。
- GuidedとExpertのどちらが合うか。SQLを初めて書くならGuided、書ける人はExpertで始め、説明が多すぎる・少なすぎると感じたら切り替えます。
- 日本語の指示で、何を返せばよいか分かるか。課題の文章が読みにくいと感じる場面が多ければ、製品版で翻訳がどこまで直るかを待つのも手です。
- 1件目の終盤のJOINまで進んで、退屈しないか。SELECTとWHEREだけの序盤で判断せず、集計と結合が入ってからの手応えで決めます。
SQLを仕事で毎日書いている人にとって、体験版の範囲は簡単すぎる可能性が高いです。反対に、参考書の例文を写すだけで手が止まった人や、データ分析の仕事を始める前に基礎を固めたい人には、「この証言が本当か確かめたいからWHEREで絞る」という順番で触れられる点が効きます。
FAQGhost in the SQL Dataのよくある質問
まとめSQLの入門には使える、実務の後半は別の教材で
『Ghost in the SQL Data』は、事件のデータベースに実際にクエリを投げ、返ってきた行で答え合わせをする推理ゲームです。体験版の2件だけで、SELECTとWHEREから、集計、GROUP BY・HAVING、JOINまで、なぞり書きから順に積み上げていきます。テーブル名は英語に統一され、実際の現場に近い形で練習できます。
一方で、書き換え系のSQL、テーブル設計、速度の調整は扱わず、体験版は推理より教材に寄っています。翻訳の読みにくさは、9月25日の日本語レビューでも指摘されています。
SQLの問い合わせを日本語で基礎から身につける入口としては実用的です。実務で必要な設計や運用は別の教材で補う前提で、まず無料の体験版で最初の1件を最後まで遊び、日本語の指示が読めるか、GuidedとExpertのどちらが合うかを確かめてから、10月29日の製品版を検討してください。
あわせて読みたい
出典:Steam公式ストア(製品版)・Steam公式ストア(体験版)・Steam公式ストア(2026年8月25日時点の紹介文、Internet Archive)・Steam公式 Ghost in the SQL Data launches October 29!!・Steam公式 New tutorial mode: Expert・Steam公式 Translation Fixed!・Steam公式 Demo coming September 10・Steamコミュニティ Security Consideration・Steamコミュニティ QoL suggestions after playing the demo・The SQL Murder Mystery(Knight Lab)・Steam公式ストア Database Detective: Minor Crimes Division・PostgreSQL公式ドキュメント Pattern Matching(2026年10月6日確認)。体験版の評価件数はSteamのレビュー集計、プレイヤーの報告と開発者の返答はSteamコミュニティの各スレッドにもとづきます。



