ブラウザ上の仮想SQLiteで
SQLを手を動かして学習
インストール不要。環境構築ゼロ。SQLを実行するたびに即時フィードバック。 完全初心者からDB試験対策まで対応。
無料で始める →| name | price |
|---|---|
| ノートPC | 98000 |
| モニター | 45000 |
| ヘッドホン | 15000 |
レベル別・目的別に体系的に学習できます
全5レッスン・合計 約34分・練習問題16問。 上から順に進めれば、テーブルからデータを取り出す SELECT から、 カテゴリごとに集計する GROUP BY までひと続きで身に付きます。 途中のレッスンから直接始めることもできます。
SQL道場で扱う構文の早見表です。書き方を思い出したいときはここを見て、 実際に動かして確かめたくなったらレッスンを開いてください。
| 句・機能 | 書き方 | 役割 |
|---|---|---|
| SELECT | SELECT 列名 FROM テーブル名; | 取り出したい列を指定する。全列なら * を使う。 |
| WHERE | WHERE 列名 = '値' | 行を絞り込む条件。=、>、<、LIKE、IN、BETWEEN、IS NULL が使える。 |
| ORDER BY | ORDER BY 列名 DESC | 並び替え。ASC が昇順(既定)、DESC が降順。カンマ区切りで複数指定も可。 |
| LIMIT | LIMIT 10 | 取得件数を制限する。ORDER BY と組み合わせて「上位◯件」を出す。 |
| 集計関数 | COUNT(*) / SUM(列) / AVG(列) | 件数・合計・平均・最大 (MAX)・最小 (MIN) を求める。 |
| GROUP BY | GROUP BY 列名 | 指定した列の値ごとにまとめて集計する。カテゴリ別の売上などに使う。 |
| HAVING | HAVING COUNT(*) >= 3 | 集計した結果に対する絞り込み。WHERE は集計前、HAVING は集計後。 |
| JOIN | FROM a JOIN b ON a.id = b.a_id | 複数テーブルを結合する。片側に無い行も残すなら LEFT JOIN。 |
| DISTINCT | SELECT DISTINCT 列名 | 重複を除いて一意な値だけを取り出す。 |
SQL は SELECT → FROM → WHERE → GROUP BY → HAVING → ORDER BY → LIMIT の順に書きます。ただし実行される順番は FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → LIMIT です。 「WHERE では列の別名が使えないのに ORDER BY では使える」といった一見不思議な挙動は、 この実行順の違いから来ています。
読むだけで終わらせず、必ず自分の手で SQL を打つ流れになっています。
SQL道場は、ブラウザの中だけで SQL を練習できる無料の学習ツールです。 SQLite を WebAssembly に移植した sql.js がページ内で動いているため、 MySQL や PostgreSQL をパソコンに入れなくても、本物の SQL エンジンに対して クエリを実行できます。
SQL の学習でつまずきやすいのは、文法そのものよりも「試す環境を用意するところ」です。 データベースをインストールし、サーバーを起動し、練習用のテーブルを作る—— ここで力尽きて、結局は解説記事を読むだけで終わってしまいがちです。 SQL道場は商品・顧客・注文の 3 テーブルをあらかじめ用意した状態で開くので、 最初の 1 分目から SELECT を打てます。
課題ごとに実行結果が自動で判定されるため、 「動いたけれど、これで合っているのか分からない」という状態になりません。 間違えても回数制限はなく、何度でもやり直せます。 入力した SQL と学習の進み具合は端末のブラウザ内に保存され、サーバーには送信されません。
同じくインストール不要・登録不要で使える、開発まわりの練習ツールです。