ツクッタヨ

RECORD No.004 学ぶ

コマンド道場

コマンドドウジョウ

SQL をブラウザの中で動く本物のデータベースに打ち込んで、実行結果で採点してくれる練習サイト。書き方が違っても、結果が同じなら正解になる。

  • 無料
  • 登録なし
  • Web
  1. 01 打った SQL はサーバーへ行かない。採点中の通信は0件だった
  2. 02 書き方を変えても正解になる。カンマ結合に書き直しても通った
  3. 03 間違えると「期待8行/実際10行」と具体的に返ってくる

SCREEN commanddojo.com の画面を切り抜いたもの 1100×820

INNER JOIN の練習問題ページ。難易度★2、設問、主要7製品で通用することの表示、この問題で使える4つのテーブル(juchu・juchu_meisai・kokyaku・shohin)の列名・型・ NULL可否が並んでいる。
Fig.01 問題ごとに、使えるテーブルの定義が全部出る。「起動中…」はブラウザの中でデータベースが立ち上がっているところ。
練習問題
123問
一覧から数えた実数
テーマ
41個
11分野に分かれている
方言の対応表
65×7マス
構文×製品
料金
0円
登録もログインも要らない

何ができるか

問題を開くと、使えるテーブルの定義が全部出ます。列名・型・NULL の可否、 それに先頭5行のデータまで。その下の欄に SQL を書いて Ctrl+Enter で採点します。

採点は文字列の一致ではありません。実行結果が設問の目的を満たしているかで判定します。 実際に確かめました。JOIN … ON で書いた答えと、 それをカンマ結合+ORDER BY 1 に書き換えたもの—— 見た目はまったく違いますが、どちらも「正解! 目的を達成しています」になりました。

間違えたときも具体的です。WHERE を書き忘れて出したら、 「行数が違います(期待: 8 行 / 実際: 10 行)」と、 どこがずれたかまで返ってきました。

★ 打った SQL はサーバーへ行きません。 データベース(PostgreSQL)が ブラウザの中で動いています。採点の前後を通して通信を見張りましたが、 fetch も XMLHttpRequest も sendBeacon も0件でした。 だから登録が要らず、回数の制限もありません。

解説の作りも丁寧です。「結論」「なぜ」「よくある間違い」に分かれていて、 一次情報(PostgreSQL 18 のマニュアル)へのリンクと確認日が付きます。 別ページには 65構文×7製品の方言対応表もあり、 差が出たのは15構文だけ、そのうち未確認の製品が残るものは29構文、と数まで書いてあります。

SCREEN commanddojo.com の画面を切り抜いたもの 1100×440

同じ問題の解説。「結論」「なぜ」「よくある間違い」に分かれており、よくある間違いにはクロス結合で10×5=50行になる例が書かれている。下に根拠として PostgreSQL 18 マニュアルへのリンクと「確認 2026-07-26」がある。
Fig.02 🔴 解説に一次情報の出典と確認日が付く。「よくある間違い」まで書いてある。

SCREEN commanddojo.com の画面を切り抜いたもの 1100×690

SQL 方言の対応表。65構文×7製品(PostgreSQL・MySQL・MariaDB・SQLite・SQL Server・ Oracle Database・IBM Db2)のマス目に、そのまま使えるか記号で示されている。
Fig.03 65構文×7製品の対応表。差が出たのは15構文だけ、と数字で書いてある。

採点を試した結果

試したこと 判定 返ってきた内容
JOIN … ON で普通に書く 正解 「正解! 目的を達成しています」
カンマ結合+ORDER BY 1 に書き換える 正解 まったく違う書き方でも同じ判定になった
WHERE を書き忘れる 不正解 「行数が違います(期待: 8 行 / 実際: 10 行)」
採点中の通信 0件 SQL はブラウザの外に出ていない

★ 2026-09-05、INNER JOIN の第1問で実施。🔴 採点の前後を通して fetch / XMLHttpRequest / sendBeacon はいずれも0件だった。「打った SQL がサーバーへ送られることもありません」は、そのとおりだった。

練習問題123問の難易度の分布

  • ★★★☆☆ 58問
  • ★★☆☆☆ 33問
  • ★★★★☆ 24問
  • ★★★★★ 5問
  • ★☆☆☆☆ 3問

★ 一覧ページの★印を数えた(2026-09-05)。真ん中(★3)が最も厚い。★1が3問しかないので、 SQL をまったく書いたことがない人がここから始めるのは厳しい。

向いている人・向いていない人

向いている人

SQL を少し書けるが、書き方の引き出しを増やしたい人。答えを1通りに縛らないので、自分の書き方のまま試して、通るかどうかを確かめられます。「実行結果で判定される」ので、写経ではなく考える練習になります。データベーススペシャリスト(IPA 午前Ⅱ)の過去問もあり、SQL の設問はその場で打てます。社内やスクールで、環境構築なしに SQL を触らせたい人にも向きます。

向いていない人

まったくの初心者には向きません。★1の問題が123問中3問しかなく、最も多いのは★3です。基本を教わる場所ではなく、書ける人が練習する場所です。名前は「コマンド道場」ですが、公開されているのは SQL だけで、 Linux コマンドは準備中と書かれています。コマンド全般を練習したい人は当てが外れます。学習の記録は登録なしだと端末の中にしか残らないので、職場と自宅で続きをやりたい人は注意が要ります(アカウント機能はありますが、こちらでは試していません)。

触ってみて気づいたこと

実行結果の表示で、日付の列が Wed Nov 05 2025 09:00:00 GMT+0900 (日本標準時) と そのまま出ます。同じ列が、問題ページのサンプル表示では 2025-11-05 と出ているので、 実行結果のほうだけ整形が抜けているようです。 ⚠️ SQL を学ぶ場所なので、「PostgreSQL はこう返すのか」と誤解する余地があります。 ここは直したほうがよいと思います。

存在しない URL を開くと、404ページが英語のままでした (404: This page could not be found.)。 ここまで日本語で作り込んであるので、ここだけ既定のままなのは目立ちます。

ブラウザの中でデータベースを起動する作りなので、問題を開いた直後に 「起動中…」の待ちがあります。上の1枚目の写真に写っているのがその状態です。 ★ 待たされはしますが、これがあるから登録も回数制限も無いので、 引き換えとしては妥当だと思います。

確認の記録

いつ、何を見て書いたかを残しています。 確認していないことは書きません。

  • 実行結果の日付が Wed Nov 05 2025 09:00:00 GMT+0900 (日本標準時) と出ること、同じ列がサンプル表示では 2025-11-05 と出ることを確認した。存在しない URL(/sql/drill/join/001)で404ページが英語のままであることも確認した。★ 採点ロジックそのものの正しさは、この1問でしか確かめていない。

  • 練習問題の一覧から問題数を数えた(123問・41テーマ・11分野)。難易度の★印を集計し、★1が3問・★2が33問・★3が58問・★4が24問・★5が5問であることを確認した。方言の対応表ページで「65構文×7製品、差が出たのは15構文」の記載を確認した。

  • 🔴 採点の前後で fetch / XMLHttpRequest / navigator.sendBeacon を横取りして監視し、 3回の採点を通して通信が0件であることを確認した。SQL はブラウザの外に出ていない。

  • INNER JOIN の第1問(受注と顧客をつなぐ)を3通りで提出した。 JOIN … ON の答えとカンマ結合+ORDER BY 1 の答えの両方が「正解! 目的を達成しています」になり、 WHERE を抜いた答えが「行数が違います(期待: 8 行 / 実際: 10 行)」で不正解になることを確認した。

同じ分類の掲載

すべて見る →
No.122

つまずきマップ

算数・数学のプリントを撮ると、AI が問題ごとに単元と○✕を記録し、復習の順番を出す道具。小1〜高3の110単元を1枚の地図に並べ、テスト前には「今夜の作戦」を出す。

一部有料 登録なし AIツール
学ぶ
No.093

AIシェアラボ

ChatGPT・Gemini・Claude など主要AIの市場シェアと料金を、公開データの月次スナップショットでランキング化したサイト。7言語で読める。

無料 登録なし AI関連
学ぶ
No.098

AI Arte

Claude・ChatGPT・Gemini などの使い方と活用術を解説するAIメディア。記事218本・講座47本・AIスキル診断を10言語で出している。

無料 登録なし AI関連
学ぶ