SQL BASIC

SQLの基本を5ステップで理解

SELECTからJOINまで、最初に覚えたいSQLを順番に整理します。

問題を解きたい方:
→ SQL基礎トレーニングを開く

1. SELECT ― データを取得する

SELECTの後ろに取得したい列、FROMの後ろに表名を書きます。

SELECT name, age FROM users;

すべての列なら * を使います。

SELECT * FROM users;

2. WHERE ― 条件で絞り込む

SELECT * FROM users WHERE age >= 20;

複数条件では AND や OR を使います。

AND:両方を満たす
OR:どちらかを満たす

3. ORDER BY ― 並べ替える

SELECT * FROM users ORDER BY age ASC;

ASCは昇順、DESCは降順です。

4. GROUP BY ― グループごとに集計する

SELECT category, SUM(amount) FROM sales GROUP BY category;

SUMのほか、COUNT・AVG・MAX・MINなどの集計関数もよく使われます。

5. JOIN ― 複数の表を結合する

SELECT * FROM users INNER JOIN orders ON users.id = orders.user_id;

INNER JOINでは、結合条件に一致するデータを両方の表から組み合わせます。

最初の覚え方:
SELECT → 何を取る?
FROM → どの表から?
WHERE → どんな条件?
ORDER BY → どう並べる?
GROUP BY → 何ごとに集計?
JOIN → どの表とつなぐ?

SQLとは?

SQLは、データベースのデータを検索・追加・更新・削除するために使われる言語です。学習の最初はSELECT、FROM、WHEREなど、データを検索する基本構文から理解すると進めやすくなります。

SELECT文とは?

SELECTでは取得したい列、FROMでは対象となる表を指定します。

SELECT name, score
FROM students;

WHERE句とは?

WHEREは条件に合う行だけを絞り込むときに使います。たとえば「scoreが80以上」のデータだけ取得するならWHERE score >= 80のように指定します。

GROUP BYとは?

GROUP BYは、同じ値を持つ行をグループ化してCOUNT、SUM、AVGなどの集計関数と組み合わせるときに使います。

WHEREとHAVINGの違い

WHEREは集計前の行を絞り込み、HAVINGはGROUP BYなどで集計した後の結果へ条件を付けます。この違いはSQL学習で特に混同しやすいポイントです。

JOINとは?

JOINは複数の表を関連付けてデータを取得するときに使います。どの列同士を対応させるかをON句で指定し、主キーと外部キーの関係を意識して読みます。

読むだけで終わらない
次は10問解いて、SQLの形を実際に見分けてみましょう。

SQLを読む基本順序

SELECTで取得する列、FROMで対象表、WHEREで行の条件を確認します。集計ではGROUP BY、集計後の条件ではHAVING、表の結合ではJOINを使います。

具体例:条件付き検索

SELECT name, score
FROM students
WHERE score >= 80;

students表からscoreが80以上の行を対象に、nameとscoreを取得します。

WHEREとHAVINGの違い

WHEREは集計前の行を絞り込みます。HAVINGはGROUP BYなどで集計した結果に条件を付けるときに使います。

JOINで意識すること

複数表を結合するときは、どの列同士が対応するのかをON句で確認します。主キーと外部キーの関係を意識すると読みやすくなります。

よくある間違い

集計関数の条件をすべてWHEREに書かない
COUNTやAVGなどでグループ化した後の結果を条件にする場合はHAVINGを検討します。

試験でのポイント

SQL文を丸暗記するより、「最終的にどの行・どの列を残したいか」を表に書き、句ごとの役割に分解すると理解しやすくなります。