以前、SQLについて勉強したという話をしました。
狙いはActiveRecord
たるORMによってSQLを直接書く必要がないためRDBとのやりとりが隠蔽されており、自分の書いたコードから発行されるSQLがパフォーマンスの良いものか悪いものかが判断出来なかったからです。
しかし、直接SQLを書くことが現在もほとんどないため、少しずつSQLの知識が頭から消えていく...ような気がしています。使わないものではないので、たまにはSQLを書いて記憶を保っておきたいなぁ...と思っていました。
そんなある日のこと、paizaで「エンジニア騎士とクエリの魔女」というプログラミングゲームを発見しました。
paizaはたまにスキルチェックを解いて遊んだり、paiza.ioを使って環境構築をしていない言語を試すぐらいにしか使っていなかったのですが、こういったサービスがあるのには驚きました。
また、SQLの問題が用意されているのも珍しいなと思ったので、登録して一通り遊んでみました。
遊んでみた感想
デザインや世界観についてはRPGのようになっています。レベルや装備、クエストのような概念があります。この作り込みは凄いなと思いました。
ただ、問題数が少なく2023年1月時点でSQLの問題は6問しかありませんでした。もっとゴリゴリとSQLを書きたいので運営さん、問題をもっと増やしてほしいです。また、問題文と回答欄の距離が結構あって問題を見ながら、回答することが出来なかったのが不便に感じました。
画面の緑色のクリア済みになっているのがSQLの問題
問題の内容についてはネタバレになってしまうので詳細は避けますが、以下のようでした。SQLの初心者がサクッと力試しする内容としては十分かなと感じました。
- SELECTによるカラムの抽出
- WHEREを用いた絞り込み
- JOINによる結合
- サブクエリを用いた絞り込み
※問題数と一致していないのは内容が重複、組み合わせで解く問題があるためです。
A問題の獣の足跡はSQLリハビリ中の自分には難しかったです。小一時間ぐらい考えてようやく正解することが出来ました。問題を解くとアバター?の装備や衣装をGETすることが出来て、見た目を変更することが出来ます。
魔女は白髪のイメージがあるので、こんな感じにしてみました。かわいい!
ちゃんと瞬きをしていて、キャラクターへの愛情を感じました。デザインも投票で決まったものだそうです。
最後に
「エンジニア騎士とクエリの魔女のSQL」ですが、非常にデザイン、世界観が作り込まれているなと感じました。
ベースが完成されているので、とにかく、自分としてはSQLの問題を増やしてほしいです。今の問題数だと2時間もしないうちに終わってしまうため、それでユーザーが離れていくのはもったいないと思いました。
また、問題が追加された時に遊んでみようと思います。
書籍にはなりますが、SQLの習得には「スッキリわかるSQL入門」がおすすめです。