RDBMS Guides

RDBMSごとの
SQL方言ガイド

同じSQLでも、データベースが変われば書き方が変わります。
各RDBMSモードで体験できる独自の方言を確認してみましょう。

LIMIT、FETCH FIRST、CONCAT()、NVL()など、
やりたいことは同じでもRDBMSによって代表的な書き方は異なります。

What is SQL Dialect?

そもそも「SQL方言」とは?

SQLには、ISOやANSIが定めた「標準SQL」という世界共通の基本ルールが存在します。しかし、実際のデータベース(RDBMS)製品は、標準SQLだけではカバーしきれない便利な機能や、製品独自の進化を遂げた構文を多数持っています。

このように、特定のデータベース製品でしか動かない(または挙動が変わる)独自のSQL構文や関数のことを、エンジニア界隈では「SQL方言(Dialect)」と呼びます。

  • 標準SQLの例: SELECT, WHERE, INNER JOIN などの基本操作
  • SQL方言の例: LIMIT(件数制限)、AUTO_INCREMENT(自動採番)、NVL()(NULL置換)など

実務で「PostgreSQLからMySQLへシステムを移行する」といった場面では、この方言の違いによるエラー(構文エラーや意図しない挙動)が必ずと言っていいほど発生します。そのため、ベースとなるSQLの知識に加えて、「RDBMSごとにどう書き方が変わるのか」を把握しておくことが重要になります。

Database Guides

学びたいRDBMSを選ぶ

自動採番・文字列結合・NULL処理・件数制限など、実務で頻出する「方言の差」をRDBMSごとにまとめました。アイコンをクリックして各データベースの特徴を確認してみましょう。

Learning Point

構文ではなく、
「やりたいこと」から比較する。

たとえば「検索結果を5件だけ取得したい」という目的は、どのRDBMSでもほぼ同じです。

しかし、その書き方はMySQLやPostgreSQLならLIMIT、Oracle DatabaseならFETCH FIRSTと変わります。

Miria SQL Learningでは、ひとつの構文を丸暗記するのではなく、同じ処理がDBごとにどう変化するのかを比較しながら学べるようにしています。

Compare RDBMS

2つのRDBMSを並べて比べる

個別の構文を確認したら、次はRDBMS同士を並べて整理できます。

Try It Yourself

違いがわかったら、
次は切り替えて試してみよう。

ガイドで構文を読んだあとは、Miria SQL LearningのRDBMS設定を切り替えて実際のSQLを書いてみましょう。

ミリア

Miria SQL Learning

SQL方言は、
切り替えて試すともっとわかる。

PostgreSQL・MySQL・Oracle DB・SQLiteを、
ひとつの学習環境で比較してみましょう。

インストール不要・ブラウザから開始