SQL入門|初心者が基礎から学べるSQL学習ガイド
STEP1|PostgreSQLを使う準備をしよう
SQLを実際に動かすための環境を準備します。
PostgreSQLとpgAdmin 4をインストールし、学習用データベースsql_studyを作成します。
最後に、
SELECT 1;を実行して、SQLを動かせるところまで確認します。
→ SQL入門 STEP1|PostgreSQLを使う準備をしよう
STEP2|テーブルを作ってみよう
データを保存するための「テーブル」を作ります。
CREATE TABLEを使い、
- 商品ID
- 商品名
- 価格
を保存できるproductsテーブルを作成します。
INTEGERやVARCHARといったデータ型や、PRIMARY KEYの基本もここで学びます。
STEP3|SELECTでデータを取得しよう
データベースからデータを取得するときに使うSELECTを学びます。
SELECT *
FROM products;すべてのカラムを取得する方法だけでなく、商品名や価格など、必要なカラムだけを選んで取得する方法も確認します。
→ SQL入門 STEP3|SELECTでデータを取得しよう
STEP4|WHEREで条件を指定しよう
SELECTで取得するデータに条件を付けます。
例えば、
「5000円以上の商品だけ取得する」
といった検索ができるようになります。
比較演算子のほか、ANDやORを使った複数条件の指定も扱います。
STEP5|ORDER BYで並び替えよう
取得したデータを価格順やID順に並び替えます。
ASCとDESCを使って、昇順・降順を指定する方法を学びます。
WHEREと組み合わせて、
「条件に合う商品を価格の安い順に表示する」
といったSQLも書いてみます。
STEP6|INSERTでデータを追加しよう
INSERTを使って、新しいデータをテーブルへ追加します。
1件だけ登録する方法から、複数の商品をまとめて登録する方法まで試します。
STEP2で設定したPRIMARY KEYが、どんな役割を持っているのかも実際のエラーを見ながら確認します。
→ SQL入門 STEP6|INSERTでデータを追加しよう
STEP7|UPDATEでデータを更新しよう
登録済みのデータを変更するときに使うUPDATEを学びます。
価格や商品名を実際に変更しながら、
UPDATEの前にSELECTで対象を確認する
という安全な操作方法も身につけます。
WHEREを書かなかった場合に何が起こるのかも確認します。
→ SQL入門 STEP7|UPDATEでデータを更新しよう
STEP8|DELETEでデータを削除しよう
不要になったデータを削除するDELETEを学びます。
UPDATEと同じくWHEREの指定が重要なので、削除する前にSELECTで対象を確認しながら進めます。
ここまで進むと、
Create → INSERT
Read → SELECT
Update → UPDATE
Delete → DELETEという、データ操作の基本となるCRUDが一通りそろいます。
→ SQL入門 STEP8|DELETEでデータを削除しよう
STEP9|集計関数を使ってみよう
ここからは、保存されているデータを使って集計を行います。
登場するのは、
COUNT → 件数
SUM → 合計
AVG → 平均
MAX → 最大
MIN → 最小です。
「商品はいくつ登録されている?」
「商品の平均価格はいくら?」
といった情報をSQLで調べられるようになります。
STEP10|GROUP BYでグループごとに集計しよう
STEP9ではテーブル全体を集計しました。
STEP10ではGROUP BYを使って、
「カテゴリーごとの商品数」
「カテゴリーごとの平均価格」
のように、グループを分けて集計します。
集計関数とGROUP BYを組み合わせる考え方を身につけます。
→ SQL入門 STEP10|GROUP BYでグループごとに集計しよう
STEP11|主キーと外部キーを学ぼう
ここからは、複数のテーブルを扱います。
商品カテゴリーを管理するcategoriesテーブルを新しく作り、productsとの関係を作ります。
ここで重要になるのが、
PRIMARY KEY(主キー)
と
FOREIGN KEY(外部キー)
です。
2つのテーブルがどのようにつながっているのかを、実際にテーブルを作りながら確認します。
STEP12|INNER JOINでテーブルを結合しよう
STEP11で関連付けたproductsとcategoriesから、必要な情報をまとめて取得します。
商品名 | 価格 | カテゴリー
-----------+--------+------------
ノートPC | 120000 | PC
マウス | 3000 | 周辺機器このような結果を取得するときに使うのがJOINです。
STEP12では、結合条件に一致するデータを取得するINNER JOINを学びます。
→ SQL入門 STEP12|INNER JOINでテーブルを結合しよう
STEP13|LEFT JOINを使ってみよう
INNER JOINに続いて、LEFT JOINを学びます。
カテゴリーが設定されていない商品を用意して、
INNER JOINではどうなるのか
LEFT JOINではどうなるのか
を実際の結果で比べます。
「結合相手がいないデータも表示したい」という場面で、どちらのJOINを選べばよいのか考えてみましょう。
→ SQL入門 STEP13|LEFT JOINを使ってみよう
STEP14|SQLの基礎を使ってデータを操作しよう
最後は総合演習です。
新しい構文を覚えるのではなく、これまで学んだSQLを組み合わせます。
商品の検索・追加・更新・集計や、カテゴリーとの結合などに挑戦します。
最初から完成したSQLを見るのではなく、
「何をしたい?」
「そのためには、どのSQLが必要?」
と考えながら進めてみてください。
→ SQL入門 STEP14|SQLの基礎を使ってデータを操作しよう
どこまでできればSQL入門クリア?
14STEPを終えたときに、すべての構文を何も見ずに書ける必要はありません。
まず目指したいのは、例えば、
「データを取得したいからSELECTを使う」
「条件を付けたいからWHEREが必要」
「登録済みのデータを変更したいからUPDATE」
「カテゴリー名も欲しいからJOINする」
といったように、やりたいことから使うSQLを考えられる状態です。
書き方を忘れたときは、確認しながら書けば大丈夫です。
そのうえで、自分で条件を変えたり、商品を追加したりしながらSQLを何度か動かしてみると、少しずつ書き方も身についてきます。
SQL入門の次は?
SQLの基礎を学んだあとには、
CASE
EXISTS
サブクエリ
UNION
WITH(CTE)
ウィンドウ関数
など、さらに便利な機能があります。
ただし、SQLを始めたばかりなら、すぐに全部を覚える必要はありません。
まずはSQL入門で扱った、
CRUD・検索・集計・JOIN
を使えるようにしておくほうが大切です。
Felmia Studioでは、入門より先の内容は実務・応用向けとして分けて扱っていきます。

最初から難しいSQLまで覚えなくて大丈夫♪
まずは「データをどうしたいか」を考えて、基本のSQLを使えるようになろう!
