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
人間界の可愛い洋服に興味津々の カメレオンの女の子、ミリア。
「好きなお洋服をいっぱい見られる、 私専用のショッピングサイトがほしい!」
そんなミリアから依頼を受け、
商品テーブルを作り、
データを登録し、
欲しい商品を検索し、
集計し、
複数のテーブルを結びつけていきます。
課題を進めるほど、
ひとつのデータベースが少しずつ完成していく。
それがMiria SQL Learningの学習体験です。
Curriculum
最初から複雑なSQLを書く必要はありません。 操作方法から始め、基本・結合・方言・応用へと進みます。
Introduction
スポットライトUIを使って、 SQLエディタやRDBMS切り替えなど Miria SQL Learningの基本操作を確認します。
CRUD & DDL
CREATE TABLE、
INSERT、
SELECT、
UPDATE、
DELETE
を使い、データベース操作の基本を学びます。
Aggregate & Join
WHERE、
ORDER BY、
GROUP BY、
COUNT、
AVG、
INNER JOIN、
LEFT JOIN
などを実践します。
SQL Dialects
件数制限、文字列結合、NULL処理、 集合演算などを比較し、 PostgreSQL・MySQL・Oracle・SQLiteの違いを体験します。
Advanced
CASE WHEN
による条件分岐や、
サブクエリを利用した平均値との比較など、
より実践的なSQLに挑戦します。
Free Mode
学んだ内容を使って自由にテーブルを作成。 課題に縛られず、 自分のSQLを試すための実験環境として利用できます。
Learning Experience
エディタ、ER図、用語集を行き来しながら、 SQLを「文字列」ではなくデータ操作として理解します。
SQLを実行して結果を見るだけでなく、 選択しているRDBMSと構文の組み合わせを確認。 カッコ抜けなどの構文ミスや、 学習中につまずきやすいポイントに応じて ミリアのリアクションも変化します。
方言チェックを体験する
SQLで作成したテーブル構造をER図へ反映。 主キーと外部キーによるテーブル間の関係を可視化することで、 JOINの意味やリレーショナルデータベースの構造を 視覚的に確認できます。
ER図を使って学ぶ
RDBMS Guides
アプリでの実践学習とは別に、RDBMSの特徴・背景・選び方を
読み物として整理しています。
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だけでなく リレーショナルデータベースの構造を 視覚的に理解できるよう設計しています。
Miria SQL Learning
ミリアから最初の依頼が届いています。
まずはブラウザで、ひとつSQLを書いてみませんか?
インストール不要・ブラウザから開始