LIMITが通らない
MySQLやPostgreSQLでは見慣れた構文でも、 Oracleでは同じ書き方ができないことがあります。
MySQL / PostgreSQL / Oracle / SQLite
SQLは同じように見えて、 データベースが変われば少しずつ書き方も変わります。 Miria SQL Learningなら、環境構築に時間を使わず、 ブラウザ上でSQLを試しながら 「なぜ動くのか」「なぜ動かないのか」 まで体験できます。
4つのRDBMSを、ひとつの学習環境で。
SQLを「覚える」その先へ
独学で挫折する原因の多くは「環境構築」です。
さらに、SQLの基礎を学んだあと実務で戸惑いやすいのが、
RDBMSごとの細かな違いです。
MySQLやPostgreSQLでは見慣れた構文でも、 Oracleでは同じ書き方ができないことがあります。
PostgreSQLやOracleの
|| と、
MySQLで一般的な
CONCAT()。
同じ目的でも記法は異なります。
テーブルを作るだけでなく、 主キー・外部キー・リレーションまで理解して初めて RDBMSの全体像が見えてきます。
こうした「DBを変えた瞬間につまずくポイント」を、 実際にSQLを入力し、結果とフィードバックを確認しながら学びます。
Features
単なる構文一覧ではなく、
「書く → 動かす → 結果を見る → 違いを理解する」
までをひとつの画面で完結させます。
Browser SQL
SQLiteをベースにしたブラウザ内実行環境を利用。 データベースサーバーを立てるところから始める必要はありません。 学びたいと思ったその場でSQLを書き始められます。
SQLエディタを開くDialect Validation
MySQL・PostgreSQL・Oracle・SQLiteを切り替えながら、 そのRDBMSでは不自然な構文や利用できない構文を確認。 丸暗記ではなく、比較しながら違いを身につけます。
方言の例を見るER Diagram
作成したテーブルや主キーだけでなく、
FOREIGN KEY
によるリレーションもMermaid形式で可視化。
SQLとデータ構造を同時に理解できます。
Interactive Learning
ただ問題を解くのではなく、 ミリアが作りたいショッピングサイトの 専属エンジニアとして課題に挑戦。 CRUDから集計・結合・サブクエリへ段階的に進みます。
学習ストーリーを見るRDBMS Dialects
Miria SQL Learningでは、 共通構文だけでは見えにくい RDBMSごとの代表的な違いも学習対象にしています。
| 目的 | PostgreSQL | MySQL | Oracle DB | SQLite |
|---|---|---|---|---|
| 件数制限 | LIMIT 10 |
LIMIT 10 |
FETCH FIRST 10 ROWS ONLY |
LIMIT 10 |
| 文字列結合 | a || b |
CONCAT(a, b) |
a || b |
a || b |
| NULL置換 | COALESCE() |
IFNULL() |
NVL() |
IFNULL() |
| 連番 | SERIAL |
AUTO_INCREMENT |
IDENTITY / SEQUENCE | INTEGER PRIMARY KEY |
※ 表は学習上の代表例です。実際に利用可能な構文は
RDBMSのバージョンや設定によって異なる場合があります。
たとえばMySQLの
||
は通常論理ORとして扱われますが、
SQLモードによって挙動が変化します。
Oracleの
FETCH FIRST
はOracle Database 12c以降で利用できます。
Learn with Miria
人間界の可愛い洋服に興味津々の カメレオンの女の子、ミリア。
「好きなお洋服をいっぱい見られる、 私専用のショッピングサイトがほしい!」
そんなミリアから依頼を受け、
ユーザーやテーブルを作り、データを登録し、
欲しい商品を検索し、集計し、複数のテーブルを結びつけ、
さらにインデックスの作成や実行計画(EXPLAIN)の確認まで行っていきます。
課題を進めるほど、
ひとつのデータベースが少しずつ完成していく。
それがMiria SQL Learningの学習体験です。
Curriculum
最初から複雑なSQLを書く必要はありません。
操作方法から始め、基本・結合・方言・応用へと進みます。
Introduction
スポットライトUIを使って、SQLエディタやRDBMS切り替えなど Miria SQL Learningの基本操作を確認します。
CRUD & DDL
CREATE USERやCREATE TABLEでの準備から始まり、
INSERT、SELECT、UPDATE、DELETE
を使い、データベース操作の基本を学びます。
Aggregate & Join
ASによる別名表示やマスタ・トランザクションテーブルの概念を学びつつ、
GROUP BYや集計関数(COUNT、AVG)、
テーブル同士を結びつけるJOINを使った実践的なデータ抽出を行います。
SQL Dialects
件数制限、文字列結合、NULL処理(COALESCE等)、
差集合(MINUS / EXCEPT)などを比較し、
PostgreSQL・MySQL・Oracle・SQLiteの違いを体験します。
Advanced
CASE WHENによる条件分岐、サブクエリやWITH句(共通テーブル式)を使った複雑なデータ抽出のほか、
実務で必須となるトランザクション処理(COMMIT / ROLLBACK)など、
より高度で実践的なSQLに挑戦します。
Performance & Constraints
CREATE INDEXやUNIQUE制約による高速化とデータ保護、
EXPLAINによる実行計画の確認、
TRUNCATEやDROP TABLEによる初期化など、運用を見据えた知識を網羅します。
Free Mode
学んだ内容を使って自由にテーブルを作成。 課題に縛られず、 自分のSQLを試すための実験環境として利用できます。
Learning Experience
エディタ、ER図、用語集を行き来しながら、 SQLを「文字列」ではなくデータ操作として理解します。
SQLを実行して結果を見るだけでなく、 選択しているRDBMSと構文の組み合わせを確認。 カッコ抜けなどの構文ミスや、 学習中につまずきやすいポイントに応じて ミリアのリアクションも変化します。
方言チェックを体験する
SQLで作成したテーブル構造をER図へ反映。 主キーと外部キーによるテーブル間の関係を可視化することで、 JOINの意味やリレーショナルデータベースの構造を 視覚的に確認できます。
ER図を使って学ぶ
RDBMS Guides
アプリでの実践学習とは別に、RDBMSの特徴・背景・選び方を
読み物として整理しています。
INTERACTIVE GUIDE
JOIN・WHERE・GROUP BYなどで表がどう変化するかを、 同じデータを動かしながら確認できます。
インタラクティブ図解へDATABASE GUIDE
PostgreSQLの特徴や代表的な構文、 他のRDBMSと比較したときの考え方を解説します。
PostgreSQLガイドへDATABASE GUIDE
Web開発でも広く利用されるMySQLについて、 特徴やSQL方言を整理します。
MySQLガイドへCOMPARISON
SQL方言だけでなく、 両者の設計思想や機能の違いを比較します。
比較記事を読むFAQ
基本的な学習はブラウザ上で行えます。 ローカルにMySQLやPostgreSQLなどの データベースサーバーを構築せずに SQLを試せる設計です。
PostgreSQL、MySQL、Oracle Database、SQLiteを対象として、 共通するSQLだけでなく、 それぞれの代表的な構文や挙動の違いを学習できます。
CREATE TABLEやINSERT、SELECTなどの基礎から、 JOIN、GROUP BY、CASE WHEN、 サブクエリまで段階的に進むカリキュラムを用意しています。
学べます。 文字列結合、連番採番、NULL処理、検索構文など、 RDBMSごとに異なる代表的なSQL方言を 比較しながら体験できます。
テーブル定義や主キー、 外部キーをもとにリレーションを可視化し、 SQLだけでなく リレーショナルデータベースの構造を 視覚的に理解できるよう設計しています。
はい、ブラウザ上で完結するため、Macでもチップの種類(M1/M2など)を気にせず学習できます。Macではローカル環境構築が難しいOracle DB相当の学習も可能です。
Miria SQL Learning
ミリアから最初の依頼が届いています。
まずはブラウザで、ひとつSQLを書いてみませんか?
インストール不要・ブラウザから開始