19
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SQL構文は日本語で例えると理解しやすい

19
Last updated at Posted at 2026-09-15

SQLの基本構文

まずは基本形です。

SELECT カラム名
FROM テーブル名
WHERE 条件
GROUP BY カラム名
HAVING 条件
ORDER BY カラム名
LIMIT 件数

これを見て「何が何やら」となった方も多いと思います。順番に日本語へ変換していきます。

それぞれの句を日本語でたとえる

SELECT =「何を」

SELECTは、「何を取り出すか」を最初に宣言する部分です。

日本語にすると「〜を」に近い役割です。

SELECT 名前, 年齢

→「名前と年齢を(取り出したい)」

FROM =「どこから」

FROMは、**データの取得元(テーブル)**を指定します。

FROM 顧客テーブル

→「顧客テーブルから」

ここまでで「顧客テーブルから、名前と年齢を」という日本語の語順に近くなります。

WHERE =「〜という条件で」

WHEREは、絞り込みの条件です。買い物で例えると、店員さんに「1000円以下の商品で」と伝えるイメージです。

WHERE 年齢 >= 20

→「年齢が20以上という条件で」

GROUP BY =「〜ごとにまとめて」

GROUP BYは、指定したカラムの値ごとにグループ化する処理です。

GROUP BY 都道府県

→「都道府県ごとにまとめて」

クラス名簿を出席番号順ではなく、部活動ごとに束ねるイメージに近いです。

HAVING =「まとめた後で、さらに条件を絞る」

HAVINGはGROUP BYでまとめたグループに対しての条件です。WHEREとの違いでつまずきやすい部分です。

  • WHERE:まとめる前の、1件1件のデータに対する条件
  • HAVING:まとめた後の、グループに対する条件
GROUP BY 都道府県
HAVING COUNT(*) >= 10

→「都道府県ごとにまとめて、その中で10件以上あるグループだけ」

ORDER BY =「〜順に並べて」

ORDER BYは、結果の並び替えです。

ORDER BY 年齢 DESC

→「年齢が高い順に並べて」

DESCが「降順(大きい順)」、ASCが「昇順(小さい順、省略時のデフォルト)」です。

LIMIT =「〜件だけ」

LIMITは、取得する件数の上限です。

LIMIT 5

→「5件だけ」

全部つなげると、ひとつの日本語文になる

SELECT 名前, 年齢
FROM 顧客テーブル
WHERE 年齢 >= 20
GROUP BY 都道府県
HAVING COUNT(*) >= 10
ORDER BY 年齢 DESC
LIMIT 5

これを日本語に直すと、次のような形になります。

「20歳以上の顧客だけを集めて、都道府県ごとにグループ分けする。その中から10人以上いる都道府県だけを対象にして、年齢が高い人から順番に並べ、上から5人を選んで、その人の名前と年齢を取り出す」

ちょっと長い文章になってしまいますが、言ってることはわかると思います。

SELECTは書く位置こそ先頭ですが、実際にDB内部で処理される順番は最後の方です。先にFROMやWHEREで対象データが絞り込まれてから、最後に取り出すカラムが決まります。

つまずきやすいポイント

  • WHEREとHAVINGを混同する:グループ化する前の条件か、後の条件かで使い分けます。
  • GROUP BYなしでHAVINGだけ使おうとする:HAVINGは基本的にGROUP BYとセットで使います。
  • 書く順序と実行順序が違う:書く順はSELECTが先頭ですが、実行はFROMから始まります。

おわりに

SQLは英語の命令文というより、日本語の「〜から、〜で、〜して、〜を」という語順で読み替えると理解しやすくなります。

「SQLが呪文に見える」という方は、一度日本語に変換しながら読んでみてください。

19
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?