TERM 033
SQL
表のデータへ、欲しい結果を宣言する言語
SQLは、RDBへデータの検索・追加・更新・削除や、表構造と権限の操作を指示するための言語です。手順ではなく、欲しい結果を宣言するとデータベースが実行方法を選びます。
リレーショナルデータベースを操作するための言語の全体像。
CONTENTSこの記事の目次+
QUICK OVERVIEW
30秒でつかむ
必要な行を読む
WHERE、JOIN、GROUP BYで絞込・結合・集計します。
データを変更
INSERT、UPDATE、DELETEで行の状態を操作します。
構造を定義
CREATEやALTERでTable、Index、制約を管理します。
01 — DEFINITION
SQLとは
何か
SQLは、RDBへデータの検索・追加・更新・削除や、表構造と権限の操作を指示するための言語です。手順ではなく、欲しい結果を宣言するとデータベースが実行方法を選びます。
02 — HOW IT WORKS
仕組みを
3段階で見る
細部へ入る前に、入力から結果までの役割を順番に捉えます。
文を解釈
構文、対象Table、列、権限を確認する。
→実行方法を選ぶ
統計とIndexから効率的な検索順序を決める。
→行を処理
データを読み書きし、結果または変更件数を返す。
SQLを理解するときの、最小の処理単位です。
03 — ESSENTIALS
押さえるべき
3つの要点
名前だけでなく、この3点の関係まで理解すると実装へつなげやすくなります。
必要な行を読む
WHERE、JOIN、GROUP BYで絞込・結合・集計します。
データを変更
INSERT、UPDATE、DELETEで行の状態を操作します。
構造を定義
CREATEやALTERでTable、Index、制約を管理します。
04 — REAL WORLD EXAMPLE
顧客別の月間売上を集計する
ordersとcustomersから対象月の確定注文を集計します。
- 01
JOINで注文と顧客を結ぶ
- 02
WHEREで期間と状態を絞る
- 03
GROUP BYで顧客ごとに金額を合計する
05 — WATCH OUT
理解するときの
注意点
便利な仕組みほど、守備範囲と失敗の前提を明確にします。
値を文字列連結しない
プレースホルダーとパラメータ化クエリでSQL Injectionを防ぎます。
実行計画を確認する
遅いクエリは推測で直さず、走査行数とIndex利用を計測します。
IN ONE SENTENCE
SQLとは?
リレーショナルデータベースを操作するための言語。
