Why It Fits
選ぶ理由
- 宣言的で簡潔にデータを操作できる
- ほぼ全 RDB 共通の必須スキル
- 集計・結合・分析に強い
Language Profile
IBM(Donald Chamberlin・Raymond Boyce) / 1974年登場
リレーショナル DB を操作する宣言型のクエリ言語。「どう取るか」ではなく「何が欲しいか」を書く。DB を扱うなら言語を問わず必須の共通スキル。
Specifications
Introducing
Decision Guide
採用する理由と、事前に受け入れるべきトレードオフを分けて確認します。
Why It Fits
Trade-offs
Best Fit
Deep Dive
SQL は、リレーショナルデータベース(表の形でデータを保つ DB)を操作するための問い合わせ言語です。1974 年に IBM の研究から生まれました。Python や Java のような汎用プログラミング言語ではなく、「データに問い合わせる」ことに特化した専用言語である点が出発点になります。
SQL の核心は宣言型であることです。「どういう手順で取り出すか」を書くのではなく、「どんな結果が欲しいか」を書きます。実際の取得手順は DB のオプティマイザが最適化して決めてくれます。
-- 注文に顧客名を結合し、東京の分だけ取得
SELECT c.name, o.amount
FROM orders AS o
JOIN customers AS c ON o.customer_id = c.id
WHERE c.city = 'Tokyo';
SQL には標準規格がありますが、製品ごとに方言(文法や関数の差)が多く存在します。PostgreSQL で動いた書き方が MySQL やSQL Server でそのまま通るとは限らず、移行時の差異に注意が必要です。
Web からデータ分析まで、データベースを扱う場面なら使うプログラミング言語を問わず必須の道具です。アプリの裏側でデータを読み書きするにも、蓄積したデータを集計・分析するにも、まず SQL が土台になります。
Language Decision
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
データの検索・集計・分析
型付け: —(宣言型クエリ言語) / 実行方式: DB エンジンが解釈・最適化 / パラダイム: 宣言型(集合志向)
ほぼ全 RDB 共通の必須スキル
方言が多い(製品ごとの差)
First Step
SELECT 'Hello, World!';公式ドキュメント