SQL入門|初心者が基礎から学べるSQL学習ガイド

karin@taishi@felmia

STEP1|PostgreSQLを使う準備をしよう

SQLを実際に動かすための環境を準備します。

PostgreSQLとpgAdmin 4をインストールし、学習用データベースsql_studyを作成します。

最後に、

SELECT 1;

を実行して、SQLを動かせるところまで確認します。

→ SQL入門 STEP1|PostgreSQLを使う準備をしよう

STEP2|テーブルを作ってみよう

データを保存するための「テーブル」を作ります。

CREATE TABLEを使い、

  • 商品ID
  • 商品名
  • 価格

を保存できるproductsテーブルを作成します。

INTEGERやVARCHARといったデータ型や、PRIMARY KEYの基本もここで学びます。

→ SQL入門 STEP2|テーブルを作ってみよう

STEP3|SELECTでデータを取得しよう

データベースからデータを取得するときに使うSELECTを学びます。

SELECT *
FROM products;

すべてのカラムを取得する方法だけでなく、商品名や価格など、必要なカラムだけを選んで取得する方法も確認します。

→ SQL入門 STEP3|SELECTでデータを取得しよう

STEP4|WHEREで条件を指定しよう

SELECTで取得するデータに条件を付けます。

例えば、

「5000円以上の商品だけ取得する」

といった検索ができるようになります。

比較演算子のほか、ANDやORを使った複数条件の指定も扱います。

→ SQL入門 STEP4|WHEREで条件を指定しよう

STEP5|ORDER BYで並び替えよう

取得したデータを価格順やID順に並び替えます。

ASCとDESCを使って、昇順・降順を指定する方法を学びます。

WHEREと組み合わせて、

「条件に合う商品を価格の安い順に表示する」

といったSQLも書いてみます。

→ SQL入門 STEP5|ORDER BYで並び替えよう

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で調べられるようになります。

→ SQL入門 STEP9|集計関数を使ってみよう

STEP10|GROUP BYでグループごとに集計しよう

STEP9ではテーブル全体を集計しました。

STEP10ではGROUP BYを使って、

「カテゴリーごとの商品数」

「カテゴリーごとの平均価格」

のように、グループを分けて集計します。

集計関数とGROUP BYを組み合わせる考え方を身につけます。

→ SQL入門 STEP10|GROUP BYでグループごとに集計しよう

STEP11|主キーと外部キーを学ぼう

ここからは、複数のテーブルを扱います。

商品カテゴリーを管理するcategoriesテーブルを新しく作り、productsとの関係を作ります。

ここで重要になるのが、

PRIMARY KEY(主キー)

と

FOREIGN KEY(外部キー)

です。

2つのテーブルがどのようにつながっているのかを、実際にテーブルを作りながら確認します。

→ SQL入門 STEP11|主キーと外部キーを学ぼう

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を使えるようになろう!

記事URLをコピーしました