SQLを学ぶ: データベースとクエリ
SQLを学ぶ: データベースとクエリ — スマートフォンですべてのクエリを実行できるSQLコース
SQLを学ぶ: データベースとクエリは、スマートフォン上の実際のデータベースを使って学べる、無料のiOSおよびAndroid向けSQLコースです。文を入力して実行ボタンを押すと、返ってきた行を確認できます。46コースと183レッスンで、最初のSELECTからウィンドウ関数、インデックス、PostgreSQLまで学べます。SQLエディター、Arenaと呼ばれる10種類の練習モード、そして行数が多すぎるJOINを解説してくれるAIメンターも利用できます。
- 価格
- 無料、Proアップグレードあり
- プラットフォーム
- iOSおよびAndroid
- 言語
- 22
- 年齢レーティング
- 4+
- 必要環境
- iOS 15.1以降
- App Store
- 5.0 ★ (1)


データベースはサーバーの向こう側ではなく、スマートフォン上にあります。
SQLiteがデバイス上で文を実行し、PostgreSQL構文が必要なレッスンでは、PostgreSQLもデバイス上で実行されます。ネットワークの往復を待つ必要はなく、作成したテーブルは次にアプリを開いたときにも残っています。
概要
SQLを学ぶ: データベースとクエリは、スマートフォン上の実際のデータベースに対してクエリを実行しながらSQLを学べる、無料のiOSおよびAndroid向けアプリです。SELECT、WHERE、ORDER BYから、JOIN、サブクエリ、ウィンドウ関数、さらにインデックス、トランザクション、PostgreSQLの管理までを扱う46コース・183レッスンのSQLコースとして構成されています。さらに、練習用テーブルを備えたSQLエディター、毎日のクエリ、ガイド付きデータベースプロジェクト、練習ゲーム、AIメンターも利用できます。
アプリの内容
画面イメージ





コース
SQLコースで学べること
アプリ独自のコース一覧から構成された46コースと183レッスンで、最初のSELECTからインデックス作成、レプリケーション、シャーディングまで学べます。
テーブル、SELECT、並べ替え
SQLとデータベース入門、SQLの基礎:テーブル、行、列、SELECTを極める、ORDER BY、LIMIT、Top-Nを使った結果の並べ替え。
フィルタリング、集計、JOIN
フィルタリングのパターン、集計とGROUP BY、複数テーブルのクエリ:JOINの基礎。日常的なレポートクエリの大半を支える3つの考え方です。
日常的なデータ処理
日付と時刻の扱い、文字列関数とテキスト検索、NULLの扱い、CASEによる条件分岐、数値と数学、DISTINCT。
データの変更とテーブル設計
実践的なINSERT / UPDATE / DELETE、制約とデータ整合性、初めてのデータベース設計プロジェクト。
サブクエリ、CTE、ウィンドウ関数
サブクエリとCTE、ウィンドウ関数の詳しい解説、集合演算とピボットのパターン、高度なJOINのパターン、EXISTS、ANY、ALL、相関サブクエリ。
PostgreSQLの機能
PostgreSQLのJSONとJSONB、ビューとマテリアライズドビュー、配列の扱い、WITH RECURSIVEによる再帰クエリ、GROUPING SETS、ROLLUP、CUBE。
パフォーマンスとトランザクション
クエリパフォーマンス:EXPLAINとプランニング、インデックス戦略、トランザクションと同時実行制御、高度なインデックス作成と検索、VACUUM、ANALYZE、統計情報。
大規模環境でのデータベース運用
トリガーとストアドプロシージャ、行レベルセキュリティ、バックアップと復元、スキーママイグレーション、パーティショニング、レプリケーション、データウェアハウジングとスター・スキーマ、シャーディング。
使い方
練習セッションの流れ
セッションは読むことではなく、答えを出すことから始まるため、考えることと入力することを同時に進められます。
今日のクエリまたはレッスンから始める
スマートフォン上のデータに対してチェックされる、毎日1つの文を書くDaily Queryを開くか、前回中断したレッスンから再開します。
例を実行してから変更する
短い解説には、実行ボタン付きの例が用意されています。エディターを開いて文を編集し、実行して結果テーブルを確認するか、EXPLAINで実行計画を確認します。
違うタイプの練習をしたいときはArenaを使う
探偵事件、デュエル、修正ラウンド、60秒のRushゲームで、同じスキルを短いチャレンジとして練習できます。答えが合わないときは、AIメンターが間違いを解説します。
内容
アプリに含まれるもの
46
コースと183レッスン
初心者(A1)から高度なデータベーストピック(C2)までの学習パスです。データの選択とフィルタリング、集計、JOIN、サブクエリ、CTE、ウィンドウ関数、インデックス、トランザクション、PostgreSQL固有のコースを扱います。ほとんどのレッスンでは標準SQLを学びます。
デバイス上で実行
スマートフォン上の実際のデータベース
SQLiteがデバイス上でコードを実行し、PostgreSQLのレッスンではPostgreSQLもデバイス上で実行されます。サーバーとの往復はなく、テーブルはセッション間でも保持されます。
エディター
SQLエディターとサンドボックス
任意の文を作成し、スキーマを確認し、履歴から以前の文を再び開いて、EXPLAINで実行計画を確認できます。users、orders、products、employees、salesなどの練習用テーブルをすぐに使えます。
Arena
10種類の練習モード
Data Detectiveの事件、データセットパック、Duel、Golf(より低コストの実行計画で同じ行を返す)、Fix It、Drills、Schema Designer、Interview Simulator、60秒のRushゲームです。
20
ガイド付きデータベースプロジェクト
プロジェクトは入力したテキストではなく、クエリが返した結果によって判定されるため、別の正しい答えでも合格できます。初級・中級・上級のレベルで、30のミッションも用意されています。
AI
AIメンター
JOINが行を返しすぎる理由や、サブクエリが何をしているのかを質問できます。メンターが何が間違っていたのか、どう修正すればよいのかを解説します。無料ユーザーには、毎日利用できる質問回数が設定されています。
背景
SQLとは何ですか?データベースサーバーを準備せずに、どうやって練習すればよいのでしょうか?
SQL(Structured Query Language)は、テーブルに保存されたデータへの問い合わせや、そのデータの変更に使う標準言語です。ほぼすべてのアナリスト職、バックエンドの仕事、レポート作成ツールで使われるため、早い段階で学ぶスキルとして特に頼りになります。初心者が通常つまずくのは言語そのものではなく、サーバーのインストール、サンプルテーブルの読み込み、入力場所の準備といった環境構築です。小さなデータベースをスマートフォン上で直接動かせば、この手間を省けるため、最初の1分で最初のクエリを実行でき、ちょっとした10分の空き時間にも練習できます。
手順ではなく宣言型考え方の転換
SQLでは、たとえば顧客ごとに最も新しい注文を5件取得するなど、欲しい結果を記述し、その方法はデータベースに任せます。他の言語から来た学習者はループを書くことを期待しがちですが、どの行が欲しいのかを記述する考え方を学ぶことが、最も早い上達につながります。
JOINほとんどの初心者がつまずくポイント
データは意図的に複数のテーブルに分けられており、JOINによって共通のキーを使って再び結び付けます。条件を間違えたJOINは、気付かないうちに多すぎる行を返します。そのため、構文を読むのと同じくらい、文のすぐ横で結果テーブルを確認することが重要です。
NULL0でも空でもない
NULLは値が不明であることを意味し、NULLとの比較はtrueにもfalseにもなりません。この1つのルールによって、フィルターやカウントで起こる多くの意外な結果を説明できます。そのため、脚注で済ませるのではなく、独立したレッスンとして扱う価値があります。
方言:SQLiteとPostgreSQL共通の基本と異なる追加機能
SELECT、JOIN、GROUP BYの基本はデータベースシステム間で共通していますが、JSONB、配列、一部のウィンドウ関数や日付関数などの機能は異なります。まず標準的な基本を学び、その後で1つの方言固有の追加機能に触れることで、知識をさまざまな環境で活用しやすくなります。
適しています
向いている方・向いていない方
次のような方におすすめです
- SQLをゼロから始めて、最初のレッスンからクエリ結果を確認したい方
- スプレッドシートやレポートを扱っていて、誰かを待つのではなく自分でデータを取得したい方
- すでに知っていることにJOIN、インデックス、PostgreSQLを加えたい開発者の方
- SQLの面接問題に備え、最後にレポートが出る時間制限付きの練習をしたい方
- 1日のちょっとした空き時間に、スマートフォンに合った練習をしたい方
次のような方には適していません
- 練習用データベースがスマートフォン内にあるため、アプリから自社のデータベースに接続する必要がある方
- すべてのコースとモードが無料だと期待している方:最初のコースと各Arenaモードの一部は無料で、残りはProで利用できます。
- レッスンがSQLiteとPostgreSQLの機能を使った標準SQLで構成されているため、MySQLまたはSQL Serverに特化したコースを求めている方
- すでに本番データベースを管理しており、レッスンではなくリファレンスマニュアルを求めている方
ご質問
よくある質問
スマートフォンでSQLを練習する最適な方法は何ですか?
クエリは実際に実行できるときに最も効果的に練習できます。そのため、エディターの背後で実際のデータベースが動いているツールを探しましょう。SQLを学ぶ: データベースとクエリでは、デバイス上でSQLiteを実行し、PostgreSQLのレッスンもデバイス上で実行できます。さらに、すぐに使える練習用テーブル、毎日のクエリ、10種類のArenaモードが用意されています。入力して実行ボタンを押し、説明を読むのではなく結果のテーブルを確認できます。
レッスンを進めるために、データベースやサーバーをインストールする必要がありますか?
いいえ。SQLを学ぶ: データベースとクエリにはデータベースエンジンがアプリ内に組み込まれているため、インストール、設定、接続は必要ありません。テーブルはセッション間で保持され、エディターではスキーマを参照したり、履歴から以前のステートメントを再び開いたりできます。
完全な初心者向けのSQLコースですか?
はい。学習パスはデータベースとテーブルとは何かという説明から始まり、JOINと集計に進む前に、SELECT、フィルタリング、並べ替えを学びます。コースはA1からC2までのレベルに分かれているため、基礎に慣れた後も、同じアプリでウィンドウ関数、インデックス、データベース管理まで学習を続けられます。
MySQL、PostgreSQL、SQLiteのどれを学べますか?
ほとんどのレッスンでは標準SQLを扱うため、わずかな違いはありますがMySQLなどのシステムにも応用できます。練習用データベースはSQLiteで、高度なコースではJSONB、配列、マテリアライズドビュー、行レベルセキュリティなどのPostgreSQLの機能を使います。別のシステムにしか存在しない構文が必要な場合は、その詳細について公式ドキュメントを確認してください。
Arenaとは何ですか?
Arenaは、SQLを学ぶ: データベースとクエリ内にある練習モードのセットです。Data Detectiveのケース、データセットパック(映画、サッカーの試合、アルバム、天気)、Duel、Golf、Fix It、Drills、Schema Designer、Interview Simulator、60秒のRushゲームが含まれています。たとえばFix Itでは、実行はできるものの間違った行を返すステートメントが表示され、あなたの結果を行ごとに比較します。
SQLの面接対策に使えますか?
はい。SQLを学ぶ: データベースとクエリには面接問題と、時間制限付きで5問の問題と追加質問を出題し、その後レポートを作成するInterview Simulatorがあります。GolfとFix Itのモードでは、面接官が確認したがる2つのスキル、つまり同じ結果をより効率的に取得することと、クエリが間違った行を返す理由を見つけることも練習できます。
自分のデータで練習できますか?
ArenaでCSVまたはJSONファイルをインポートし、クエリを使って調べられます。結果のCSVへのエクスポートはProの機能です。データはスマートフォン上のデータベースに保存されるため、アプリが自分のシステムに接続する必要はありません。
SQLを習得するにはどのくらいかかりますか?
SELECT、WHERE、GROUP BY、基本的なJOINの中核部分は、毎日少しずつ練習すれば数週間で習得できます。これだけでも、ほとんどのレポート作成に関する質問に対応するのに十分です。サブクエリ、ウィンドウ関数、インデックス作成には、この基礎を前提とするため、さらに時間がかかります。SQLを学ぶ: データベースとクエリでは、連続学習記録と毎日のクエリを用意し、その順番でレッスンを進めながら習慣化をサポートします。
SQLを学ぶ: データベースとクエリは無料ですか?
App StoreとGoogle Playから無料でダウンロードできます。無料版には、最初のコース、その他すべてのレッスンのプレビュー、エディターとサンドボックス、Daily Query、1つのガイド付きプロジェクト、2つのミッション、各Arenaモードの一部、毎日のAIメンター利用枠が含まれ、広告が表示されます。Proでは、すべてのコース、プロジェクト、ミッション、Arenaの完全版、認定試験、無制限のAIメンターが利用でき、広告も削除されます。
どのプラットフォームと言語に対応していますか?
SQLを学ぶ: データベースとクエリはApp Storeを通じてiOSで、Google Playを通じてAndroidで利用でき、アプリは22言語に対応しています。対象年齢レーティングは4+です。独立したアプリであり、PostgreSQL Global Development GroupまたはSQLiteプロジェクトとは提携していません。
CoddyKitのその他のアプリ
iOS および Androidで利用できます。