PUBLIC
DATAエスキューエル6 MIN READ

TERM 033

SQL

表のデータへ、欲しい結果を宣言する言語

SQLは、RDBへデータの検索・追加・更新・削除や、表構造と権限の操作を指示するための言語です。手順ではなく、欲しい結果を宣言するとデータベースが実行方法を選びます。

01PARSE文を解釈
02PLAN実行方法を選ぶ
03EXECUTE行を処理
OVERVIEW

リレーショナルデータベースを操作するための言語の全体像。

CONTENTSこの記事の目次

QUICK OVERVIEW

30秒でつかむ

01SELECT

必要な行を読む

WHERE、JOIN、GROUP BYで絞込・結合・集計します。

02DML

データを変更

INSERT、UPDATE、DELETEで行の状態を操作します。

03DDL

構造を定義

CREATEやALTERでTable、Index、制約を管理します。

01 — DEFINITION

SQLとは
何か

SQLは、RDBへデータの検索・追加・更新・削除や、表構造と権限の操作を指示するための言語です。手順ではなく、欲しい結果を宣言するとデータベースが実行方法を選びます。

02 — HOW IT WORKS

仕組みを
3段階で見る

細部へ入る前に、入力から結果までの役割を順番に捉えます。

INPUTPROCESSOUTPUT
01PARSE

文を解釈

構文、対象Table、列、権限を確認する。

02PLAN

実行方法を選ぶ

統計とIndexから効率的な検索順序を決める。

03EXECUTE

行を処理

データを読み書きし、結果または変更件数を返す。

PROCESS

SQLを理解するときの、最小の処理単位です。

03 — ESSENTIALS

押さえるべき
3つの要点

名前だけでなく、この3点の関係まで理解すると実装へつなげやすくなります。

01SELECT

必要な行を読む

WHERE、JOIN、GROUP BYで絞込・結合・集計します。

02DML

データを変更

INSERT、UPDATE、DELETEで行の状態を操作します。

03DDL

構造を定義

CREATEやALTERでTable、Index、制約を管理します。

04 — REAL WORLD EXAMPLE

顧客別の月間売上を集計する

ordersとcustomersから対象月の確定注文を集計します。

SCENARIO / SQLSTEP BY STEP
  1. 01

    JOINで注文と顧客を結ぶ

  2. 02

    WHEREで期間と状態を絞る

  3. 03

    GROUP BYで顧客ごとに金額を合計する

RESULT大量の行から、必要な条件と粒度の結果だけをデータベース側で作れます。

05 — WATCH OUT

理解するときの
注意点

便利な仕組みほど、守備範囲と失敗の前提を明確にします。

01

値を文字列連結しない

プレースホルダーとパラメータ化クエリでSQL Injectionを防ぎます。

02

実行計画を確認する

遅いクエリは推測で直さず、走査行数とIndex利用を計測します。

IN ONE SENTENCE

SQLとは?

リレーショナルデータベースを操作するための言語

KEEP EXPLORING

DATARDB掲載中WEBAPI掲載中WEBCache掲載中