SQL練習場
このSQLプレイグラウンドは、SQLの練習に使えるオンラインのSQLサンドボックスです。ブラウザで動くPostgreSQL 17に、小さなサンプルデータベースが最初から入っています。アーティスト、アルバム、曲、顧客、請求書のデータを持つ音楽ストアです。クエリを書いて実行ボタンを押せば、結果が表で表示されます。インストールは要らず、アカウントがなくても使い始められます。Playcodeの無料コードツール「Playcode Classic」のひとつです。
無料。アカウントなしで始められます。

最初からデータが入ったデータベース
PostgreSQLで作った小さな音楽ストアです。アルバムとアーティストを結合したり、曲をジャンルでグループ化したり、国ごとに請求額を合計したりしてみましょう。
- artists
artist_idname
- albums
album_idtitleartist_id
- tracks
track_idnamealbum_idgenre_idunit_price
- customers
customer_idfirst_namelast_namecountryemail
- invoices
invoice_idcustomer_idinvoice_datetotal
- genres
genre_idname

クエリごとに、結果の表がひとつ。
複数のクエリを書いて一度実行すれば、SELECTごとに結果が別々の表として、順番どおりに返ってきます。INSERT、UPDATE、CREATEには「OK」と表示されます。
テーブルをクリックして、そのままクエリ。
コードの横のパネルには、テーブルと列が一覧で表示され、主キーには印が付いています。クリックすれば、エディタがSELECT文を書いてくれます。
タブを閉じても、テーブルは待っている。
データベースはこのブラウザの中にあるので、作ったテーブルは次に開いたときも残っています。音楽ストアのデータに戻すことも、空のデータベースから始めることもできます。
共有リンクで開けるのはクエリだけで、データは含まれません。データベースはブラウザごとに別々です。

中身はPostgreSQL
使えるもの
- JOIN、GROUP BY、HAVING
- ウィンドウ関数と共通テーブル式(WITH)
- JSONと配列
- CREATE TABLE、INSERT、UPDATE、DELETE
- pgvector(埋め込み用)
ここでは(まだ)使えないもの
- AUTO_INCREMENTやLIMIT 5, 10など、MySQL固有の構文
- TOPなど、SQL Server固有の構文
- pgvector以外の拡張機能
- 本体に複数の文を含む関数とトリガー
- CSVファイルのインポート
言葉で伝えれば、クエリが返ってくる。
「購入額が多い顧客の上位5人」のように、エディタのAIチャットに普段の言葉で頼めば、SQLを書いてくれます。エラーも見えています。利用にはAIクレジットを使います。条件を満たす新規アカウントには、お試し用のクレジットが付与されます。

Playcode Classicのツール
Playcodeは2016年、ブラウザで使えるコーディング環境として始まりました。このプレイグラウンドは、その無料のコードツールのひとつです。これらのツールを、今はPlaycode Classicと呼んでいます。
現在のPlaycodeは、ホームページやアプリを作り、動かすためのAIプラットフォームです。

よくある質問
このオンラインSQLプレイグラウンドは無料ですか?
はい。クエリの実行は無料で、アカウントも要りません。保存と共有には無料アカウントが必要で、公開・非公開を問わず、プロジェクトを3つまで保存できます。AIチャットにはクレジットを使います。
どのデータベースが動いていますか?
WebAssemblyにコンパイルされたPostgreSQL 17が、ブラウザ上で動いています。
サンプルデータは付いていますか?
はい。最初からデータが入ったSQLプレイグラウンドです。小さなサンプルとして、アーティスト、アルバム、曲、ジャンル、顧客、請求書のデータを持つ音楽ストア「Chinook」が入っています。いつでもこのデータに戻せますし、空のデータベースから始めることもできます。
MySQLやSQL Serverの構文は使えますか?
PostgreSQLと共通する部分だけ使えます。標準的なSELECT、JOIN、GROUP BY、ウィンドウ関数は動きますが、AUTO_INCREMENTやTOPのような、MySQLやSQL Server固有の構文は動きません。
タブを閉じても、テーブルは残りますか?
はい、同じブラウザなら残ります。データベースはブラウザに保存されるため、別のブラウザや端末では最初からになります。また、共有リンクで共有されるのはクエリで、データは含まれません。
自分でテーブルを作れますか?
はい。CREATE TABLE、INSERT、UPDATE、DELETEのどれも使えます。
CSVファイルをインポートできますか?
まだできません。SQL文をエディタに貼り付けて、実行してください。
pgvectorに対応していますか?
はい。CREATE EXTENSION vectorが使えます。ほかの拡張機能は、まだ使えません。
ここでSQLの練習はできますか?
はい。音楽ストアのデータに対してクエリを書いてみましょう。アルバムとアーティストの結合、ジャンルごとの曲のグループ化、国ごとの請求額の合計などを練習できます。
このプレイグラウンドはPlaycodeの一部ですか?
はい。このプレイグラウンドは、Playcodeの無料コードツール「Playcode Classic」のひとつです。Playcodeは2016年、ブラウザで使えるコーディング環境として始まりました。現在は、ホームページやアプリを作り、動かすためのAIプラットフォームです。
ほかの無料コードツール
- SQLエディタ
オンラインでSQLを書いて実行。
- SQLコンパイラ
SQLを実行して、結果を確認。
- Pythonプレイグラウンド
importがそのまま使えるサンドボックス。
- Python実行環境
Pythonを実行して、出力を確認。
- JSONフォーマッタ
JSONを整形してチェック。
- コードプレイグラウンド
すべての言語を、ひとつの場所で。
データベースに、何か聞いてみよう。
