SQL 入門遊戲|霞光畫廊失竊案:零基礎寫查詢抓犯人

想學 SQL,但一看到 SELECT、JOIN 就想關掉視窗?「霞光畫廊失竊案」是一款給完全新手的 SQL 入門遊戲:你扮演剛到警局報到的偵探,用 SQL 查詢警局資料庫,一步步找出偷走水墨畫的犯人。第 0 關只要改一個字,不需要任何程式基礎。

▶ 立即開始破案(免費、免安裝)

霞光畫廊失竊案是什麼遊戲?

大稻埕的「霞光畫廊」在閉館後少了一幅水墨畫。你手上沒有監視器畫面,只有警局的資料庫:報案紀錄、市民資料、證人筆錄、健身房會員、打卡紀錄和車牌。每一關的線索都藏在資料表裡,你要寫出正確的 SQL 查詢,才能拿到下一條線索。

遊戲直接在瀏覽器裡執行,背後是真正的 SQLite 資料庫引擎。你在遊戲裡寫的語法,之後可以原封不動用在工作上的資料庫。

這個 SQL 遊戲適合誰?

  • 完全沒寫過程式,想知道 SQL 在做什麼的人
  • 行銷、營運、PM,想自己從資料庫撈數字,不用每次都請工程師幫忙
  • Excel 用得很熟,想往資料分析再走一步的人
  • 準備上資料分析課程,想先暖身的學生

8 個關卡會學到哪些 SQL?

每一關只教一個新觀念,而且每關都放了「誘答資料」:條件寫不完整,就會抓錯人。這樣你會真正理解每個條件在做什麼,而不是只會抄範例。

關卡SQL 觀念你會學到
第 0 關 領取偵探證改一個字、按執行什麼是資料表、列和欄
第 1 關 翻開卷宗SELECT * FROM把一整張表的資料叫出來
第 2 關 鎖定案件WHERE、AND用條件篩出你要的那幾筆
第 3 關 門牌最大的那戶ORDER BY DESC、LIMIT排序,並只取第一名
第 4 關 名字裡有小雨LIKE ‘%…%’只記得一部分文字時的模糊搜尋
第 5 關 調閱筆錄JOIN … ON、IN用共同欄位把兩張表接起來
第 6 關 健身房打卡JOIN + 多重條件同時用兩張表的欄位篩選
第 7 關 比對車牌串接四張表一次串起多張表,推理出犯人

怎麼玩?3 個步驟

  1. 讀線索:左邊是本關的劇情、語法說明和任務。
  2. 改查詢、按執行:右邊已經放好一段範例 SQL,照著任務修改,按「▶ 執行」看結果(電腦可按 Ctrl/⌘ + Enter)。
  3. 填答案:從查詢結果找到答案,填進答案欄。答對就解鎖下一關。

卡關時可以打開「需要提示」;真的想不出來,也可以看參考解答,再自己改寫一次。

SQL 是什麼?為什麼值得學?

SQL 是跟資料庫「問問題」的語言。你寫一句查詢,資料庫就回你一張表。公司裡的訂單、會員、廣告成效,大多存在資料庫裡,會一點 SQL,就能自己回答「上個月哪個地區的新會員最多?」這類問題。

SQL 的好處是語法很接近英文:SELECT * FROM people WHERE address_street = '迪化街' 幾乎可以照字面讀成「從市民資料裡,給我看住在迪化街的人」。這也是它很適合當第一個程式語言的原因。

常見問題

完全不會寫程式,真的可以玩嗎?

可以。第 0 關只要把查詢裡的兩個字換掉、按一次執行。之後每關都會先說明新語法,再給一段可以直接修改的範例。

需要安裝軟體或註冊帳號嗎?

不需要。打開網頁就能玩,資料庫在你的瀏覽器裡執行。

手機可以玩嗎?

可以,版面支援手機。不過要打程式碼,用電腦鍵盤會輕鬆很多。

遊戲進度會保存嗎?

會保存在你目前使用的瀏覽器裡。換一台裝置或清除瀏覽器資料,就會從頭開始。

破案之後,可以接著學什麼?

建議試試 COUNT(*) 和 GROUP BY,例如算出每條街住了幾個人。這是做報表時最常用的兩個語法。

破案還不過癮?去玩一場真實的密室逃脫

找線索、串證據、排除誘答,最後推理出答案,這就是密室逃脫的樂趣。玩完 SQL 偵探,不妨約朋友去挑戰一場實體密室,看誰先解開最後一道鎖。

看密室逃脫場次與優惠 →

本段含 Klook 聯盟行銷連結。透過連結預訂,本站會獲得分潤,你支付的價格不變。

延伸閱讀

▶ 開始玩「霞光畫廊失竊案」

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *