🗄️ 無料・登録不要

SQL道場

ブラウザ上の仮想SQLiteで
SQLを手を動かして学習

インストール不要。環境構築ゼロ。SQLを実行するたびに即時フィードバック。 完全初心者からDB試験対策まで対応。

無料で始める →
sql-dojo — SQLite
SELECT name, price FROM products WHERE category = '電子機器' ORDER BY price DESC LIMIT 3;
nameprice
ノートPC98000
モニター45000
ヘッドホン15000
3 件のデータ取得
🗄️
ブラウザ内SQLite
sql.js(SQLite WASM)でサーバー不要。本物のSQLをブラウザ内で実行できる。
即時フィードバック
クエリを実行するたびに正誤判定。何度でもやり直せて確実に定着する。
📊
実データで練習
商品・顧客・注文テーブルを使った現実的なシナリオで実践的なSQLを習得。
🏆
DB試験対策にも
基本情報技術者試験・Oracle Bronze のDB分野に直結するSQLを体系的に学べる。

コース一覧

レベル別・目的別に体系的に学習できます

SQL入門コースのカリキュラム

5レッスン・合計 約34分・練習問題16問。 上から順に進めれば、テーブルからデータを取り出す SELECT から、 カテゴリごとに集計する GROUP BY までひと続きで身に付きます。 途中のレッスンから直接始めることもできます。

SQL 基本構文チートシート

SQL道場で扱う構文の早見表です。書き方を思い出したいときはここを見て、 実際に動かして確かめたくなったらレッスンを開いてください。

句・機能書き方役割
SELECTSELECT 列名 FROM テーブル名;取り出したい列を指定する。全列なら * を使う。
WHEREWHERE 列名 = '値'行を絞り込む条件。=、>、<、LIKE、IN、BETWEEN、IS NULL が使える。
ORDER BYORDER BY 列名 DESC並び替え。ASC が昇順(既定)、DESC が降順。カンマ区切りで複数指定も可。
LIMITLIMIT 10取得件数を制限する。ORDER BY と組み合わせて「上位◯件」を出す。
集計関数COUNT(*) / SUM(列) / AVG(列)件数・合計・平均・最大 (MAX)・最小 (MIN) を求める。
GROUP BYGROUP BY 列名指定した列の値ごとにまとめて集計する。カテゴリ別の売上などに使う。
HAVINGHAVING COUNT(*) >= 3集計した結果に対する絞り込み。WHERE は集計前、HAVING は集計後。
JOINFROM a JOIN b ON a.id = b.a_id複数テーブルを結合する。片側に無い行も残すなら LEFT JOIN。
DISTINCTSELECT DISTINCT 列名重複を除いて一意な値だけを取り出す。

SQL は SELECT → FROM → WHERE → GROUP BY → HAVING → ORDER BY → LIMIT の順に書きます。ただし実行される順番は FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → LIMIT です。 「WHERE では列の別名が使えないのに ORDER BY では使える」といった一見不思議な挙動は、 この実行順の違いから来ています。

学習の進め方

読むだけで終わらせず、必ず自分の手で SQL を打つ流れになっています。

1
コースを開く
「SQL入門」コースを開くとレッスンが順番に並んでいます。上から進めれば SELECT から GROUP BY まで一本道です。
2
解説を読む
各レッスンの左側に文法の解説と実例が表示されます。構文だけでなく「どんなときに使うのか」まで書いてあります。
3
実際にSQLを書いて実行する
右側のエディタに自分でSQLを書いて実行します。商品・顧客・注文の3テーブルが入った本物のSQLiteが動くので、結果がその場で表に出ます。
4
正誤判定を受けて次へ
課題ごとに結果が自動で判定されます。間違えても何度でもやり直せます。全問正解でレッスン完了、次のレッスンへ進みます。

SQL道場とは

SQL道場は、ブラウザの中だけで SQL を練習できる無料の学習ツールです。 SQLite を WebAssembly に移植した sql.js がページ内で動いているため、 MySQL や PostgreSQL をパソコンに入れなくても、本物の SQL エンジンに対して クエリを実行できます。

SQL の学習でつまずきやすいのは、文法そのものよりも「試す環境を用意するところ」です。 データベースをインストールし、サーバーを起動し、練習用のテーブルを作る—— ここで力尽きて、結局は解説記事を読むだけで終わってしまいがちです。 SQL道場は商品・顧客・注文の 3 テーブルをあらかじめ用意した状態で開くので、 最初の 1 分目から SELECT を打てます。

課題ごとに実行結果が自動で判定されるため、 「動いたけれど、これで合っているのか分からない」という状態になりません。 間違えても回数制限はなく、何度でもやり直せます。 入力した SQL と学習の進み具合は端末のブラウザ内に保存され、サーバーには送信されません。

よくある質問

本当に無料ですか?登録は必要ですか?
完全に無料で、会員登録もログインも不要です。ページを開いた瞬間から SQL を書いて実行できます。
何をインストールすればいいですか?
何も要りません。SQLite を WebAssembly 化した sql.js がブラウザの中で動くため、MySQL や PostgreSQL をパソコンに入れる必要はありません。書いた SQL がサーバーに送られることもありません。
プログラミング未経験でも大丈夫ですか?
大丈夫です。SQL入門コースは「テーブルとは何か」「SELECT で列を選ぶ」という段階から始まります。プログラミング言語の知識は前提にしていません。
どんな SQL が学べますか?
入門コースで SELECT・WHERE・ORDER BY・LIMIT・集計関数・GROUP BY を、中級コースで JOIN とサブクエリを、上級コースで CASE の条件付き集計・ウィンドウ関数 (RANK / 累計 / LAG)・WITH (CTE)・日付の月次集計と EXISTS を学べます。全 15 レッスン・44 問を、実際に手を動かして進めます。
資格試験の対策になりますか?
基本情報技術者試験のデータベース分野や Oracle Bronze で問われる SQL は、入門コースと中級コースの範囲と大きく重なります。集計・結合・サブクエリはそのまま出題範囲です。構文を暗記するのではなく実際に打って結果を確かめる形なので、記憶に残りやすい学び方です。
スマートフォンでも使えますか?
使えます。画面が狭い場合は解説とエディタが縦に並ぶ配置に切り替わります。ただし SQL を打ち込む量が多いため、パソコンや外付けキーボードのほうが快適です。
学習の進み具合は保存されますか?
解いた課題と得点はブラウザ内に保存されるので、途中で閉じても続きから再開できます。保存先は端末のブラウザで、サーバーには送られません。

あわせて使えるツール

同じくインストール不要・登録不要で使える、開発まわりの練習ツールです。