SQLの練習 / 手を動かす

SQL入門は何を練習する?SELECTから集計まで、小さな表で始める

3行の架空データを使い、表示・条件指定・集計を順番に試すSQL練習。結果を予想してから実行し、入門書の例題を自分で説明できる状態を目指します。

公開・確認 広告を含みます

開いた本とノートPCを並べて学習するデスク
本とPCを並べた学習環境のイメージ。掲載書籍の本文ではありません。

FIRST, THE ANSWER

まず、ここから判断する

まずは小さな表で、表示する列、残す行、集計する単位を一つずつ変えます。SQLを写すだけで終わらせず、実行前の予想と実際の結果を比べると、理解できていない部分が見つかります。

01

SQLをまだ書いたことがない

3行の表でSELECTとWHEREから始める。

02

写せるが応用できない

条件を一つ変え、結果を予想して実行する。

03

集計で迷う

残す行と、まとめる単位を言葉で説明する。

条件に合う候補と購入先を見る ↓

POINT 01

練習専用の環境と、架空データを用意する

この記事の例はSQLiteで動作を確認した、当サイト作成の練習です。会社のデータベースでは実行せず、使い捨ての学習用データベースで試してください。CREATE TABLEとINSERTはデータを作る命令なので、参照だけのSELECTとは区別します。

SQLの入門書を使う場合は、その本が案内する実行環境を先に整えます。データベース製品によって書き方や機能が異なるため、本の例を別の環境へ移してエラーが出たときに、自分の理解不足と決めつけないようにしましょう。

最初の準備。架空の作業記録3行を作る
CREATE TABLE work_log (
  task TEXT, category TEXT, minutes INTEGER
);
INSERT INTO work_log VALUES
  ('API', 'dev', 40),
  ('Test', 'dev', 20),
  ('Notes', 'docs', 15);

確認資料:SQLite公式:SELECT文 / PostgreSQL公式:SQLの入門チュートリアル

POINT 02

列を選び、条件に合う行を残す

最初は全行を表示し、どの列に何が入っているか確かめます。その次に、表示する列をtaskとminutesへ絞り、WHEREで30分以上という条件を加えます。結果が何行になるか、実行前に元の3行から予想してください。

次の例で返るのはAPIの行だけです。条件を20以上に変えたら2行になるか、categoryをdocsに変えたらどの行が残るか。変更する箇所を一つにすると、条件と結果の関係を追いやすくなります。

30分以上の作業を表示する
SELECT task, minutes
FROM work_log
WHERE minutes >= 30
ORDER BY minutes DESC, task;

期待する結果

task | minutes
API  | 40

確認資料:SQLite公式:SELECT文

開いた本とノートPCを並べて学習するデスクあわせて読むSQL初心者の本はどちらを選ぶ?スッキリSQL第4版とミック著SQL第2版を比較2冊の対象と目次を比較して学ぶ本を選ぶ。記事を読む

POINT 03

行をまとめる前に、何の合計が欲しいかを書く

次は作業を種類ごとにまとめます。devは40分と20分の合計60分、docsは15分です。「種類ごとの作業時間を知りたい」と先に言葉にしてから、GROUP BYとSUMの役割を読みます。

並び順はORDER BYで指定しています。並び順を指定しない問い合わせで、たまたま前と同じ順に表示されたとしても、その順序が常に保証されるとは扱いません。結果を比べる練習では、比較したい順序も書くと確認しやすくなります。

種類ごとの合計時間を求める
SELECT category, SUM(minutes) AS total_minutes
FROM work_log
GROUP BY category
ORDER BY category;

期待する結果

category | total_minutes
dev      | 60
docs     | 15

確認資料:SQLite公式:SELECT文

POINT 04

入門書では、説明・例題・変更の三つを一組にする

練習の進め方
段階自分で説明したいこと
SELECT・WHEREどの列を表示し、どの行を残したか
GROUP BY・集計何を単位にまとめ、何を計算したか
JOINへ進む前表をつなぐキーと、結果の行数の予想
本の次章へ進む例題の条件を変えても結果を説明できるか

一つの章を読んだら、例題を実行し、条件や値を少し変えて結果を説明します。正解のSQLを覚えるだけでなく、なぜその行が残るのか、なぜ合計が変わるのかを短くメモしてください。

本を選ぶときは、練習量と環境の用意しやすさを比べます。256問のドリルを掲げる「スッキリわかるSQL入門 第4版」は反復練習を重視する場合の候補です。別の入門書をすでに持っているなら、まず同じ方法で手元の例題を一つ試してから買い足しを考えます。

確認資料:インプレス:スッキリわかるSQL入門 第4版

COMPARE & CHOOSE

条件が合う候補を、購入先で確認する

必要な条件を満たす候補から、現在の価格・在庫・販売条件を確認できます。

画像引用:インプレス

スッキリわかるSQL入門 第4版

小さな例を試した後、例題とドリルで練習量を増やしたい人へ。目次と実行環境を確認して選べます。

問題を解くだけで終わらせず、結果の理由も説明しながら進めます。

仕様と選ぶ理由を詳しく読む →

広告|Amazonアソシエイトリンク

書名・版・紙か電子かを確認してください。

購入前に、ここを確認

  • 会社の環境ではなく、学習専用のデータベースを使う。
  • 実行前に結果を予想する。
  • 変更する条件は一度に一つにする。
  • 本の対応環境と、使うデータベースを確認する。

よくある疑問

最初からJOINを練習した方がいいですか?

まず一つの表で列と行を選び、集計結果を説明できるか確認します。その後に表をつなぐ練習へ進むと、つまずく場所を分けられます。

このSQLはどのデータベースでも動きますか?

動作確認はSQLiteで行っています。他の製品では型や実行方法などの違いを確認してください。

NEXT READ

次の疑問も、ここで解決

参照資料と編集について

SQLite公式:SELECT文 ↗

PostgreSQL公式:SQLの入門チュートリアル ↗

インプレス:スッキリわかるSQL入門 第4版 ↗

翔泳社:SQL 第2版 ゼロからはじめるデータベース操作 ↗

メーカー・出版社・公式ドキュメントの情報確認日:2026-10-24。商品や書籍の比較は公開仕様・書誌に基づき、実使用・実読の評価ではありません。計算例、確認表、学習手順は当サイトの編集によるものです。

掲載・編集方針