5
6

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初心者向け~参画までに覚えたいSQL構文10選~

5
Last updated at Posted at 2026-08-21

はじめに

SQLを勉強し始めると、

  • SQLって何から覚えればいいの?
  • 構文が多くて覚えられない……
  • 実際の案件ではどんなSQLを使うの?
  • 案件に参画する前に、最低限何を覚えればいい?

このように悩むことがあると思います。

SQLにはたくさんの構文がありますが、最初からすべて覚える必要はありません。

今回は、SQL初心者が案件に参画するまでに覚えておきたい基本構文10選を紹介します。

実際のSQLを見ながら、1つずつ確認していきましょう。

目次

SQLとは?

SQL(Structured Query Language)は、データベースを操作するための言語です。

例えば、ユーザー情報がデータベースに保存されているとします。

id name age
1 田中 25
2 佐藤 30
3 鈴木 18

SQLを使うことで、

  • データを取得する
  • データを追加する
  • データを更新する
  • データを削除する
  • 条件を指定して検索する
  • 複数のテーブルを結合する
  • データを集計する

といった操作ができます。


1. SELECT

SELECTとは?

SELECTは、データを取得するための構文です。

SQLを勉強するなら、まず覚えておきたい基本中の基本です。

SELECT name
FROM users;

このSQLは、

usersテーブルからnameを取得する

という意味です。

すべての項目を取得する

SELECT *
FROM users;

*を使うと、すべての項目を取得できます。

複数の項目を取得する

SELECT name, age
FROM users;

nameageだけを取得します。

:bulb:ポイント

SELECT → 何を取得する?
FROM → どのテーブルから?

まずはこの2つをセットで覚えましょう。

2.WHERE

WHEREとは?

WHEREは、取得するデータに条件を指定するための構文です。

例えば、

20歳以上のユーザーだけ取得したい

という場合は、次のように書きます。

SELECT *
FROM users
WHERE age >= 20;

よく使う比較演算子

演算子 意味
= 等しい
<> 等しくない
> より大きい
< より小さい
>= 以上
<= 以下

例えば、30歳のユーザーを取得する場合は、

SELECT *
FROM users
WHERE age = 30;

となります。


複数条件を指定する

ANDを使うことで、複数の条件を指定できます。

SELECT *
FROM users
WHERE age >= 20
AND age <= 30;

これは、

20歳以上かつ30歳以下

という意味です。


3. ORDER BY

ORDER BYとは?

ORDER BYは、取得したデータを並び替えるための構文です。

例えば、年齢が高い順に並べたい場合、

SELECT *
FROM users
ORDER BY age DESC;

と書きます。

昇順と降順

指定 意味
ASC 昇順
DESC 降順
-- 年齢が低い順
SELECT *
FROM users
ORDER BY age ASC;
-- 年齢が高い順
SELECT *
FROM users
ORDER BY age DESC;

ASCは省略されることもあります。

SELECT *
FROM users
ORDER BY age;

この場合は基本的に昇順になります。


4. INSERT

INSERTとは?

INSERTは、データを追加するための構文です。

例えば、usersテーブルに新しいユーザーを追加します。

INSERT INTO users (name, age)
VALUES ('山田', 25);

これで、

name:山田
age :25

というデータが追加されます。

基本構文

INSERT INTO テーブル名 (カラム名)
VALUES (追加する値);

注意点

文字列を指定するときは、基本的にシングルクォートで囲みます。

'山田'

数値の場合は、

25

のように、そのまま指定します。


5. UPDATE

UPDATEとは?

UPDATEは、すでに登録されているデータを更新するための構文です。

例えば、山田さんの年齢を26歳に変更します。

UPDATE users
SET age = 26
WHERE name = '山田';

基本構文

UPDATE テーブル名
SET カラム名 = 更新する値
WHERE 条件;

WHEREの付け忘れに注意

例えば、

UPDATE users
SET age = 26;

とすると、usersテーブルの全ユーザーの年齢が26になる可能性があります。

そのため、UPDATEを使用するときは、

「どのデータを更新するのか?」

を必ず確認しましょう。


6. DELETE

DELETEとは?

DELETEは、データを削除するための構文です。

例えば、idが3のユーザーを削除する場合、

DELETE FROM users
WHERE id = 3;

と書きます。

基本構文

DELETE FROM テーブル名
WHERE 条件;

DELETEもWHEREに注意

DELETE FROM users;

とすると、テーブル内のデータをすべて削除する可能性があります。

実務では特に注意が必要な構文です。


7. GROUP BY

GROUP BYとは?

GROUP BYは、同じ値をグループ化するための構文です。

例えば、購入履歴を管理しているordersテーブルがあるとします。

id user_id price
1 1 1000
2 1 2000
3 2 1500
4 2 3000

ユーザーごとに購入金額を集計したい場合、

SELECT user_id, SUM(price)
FROM orders
GROUP BY user_id;

とします。

すると、

user_id 1 → 3000円
user_id 2 → 4500円

のように、ユーザーごとにまとめることができます。

GROUP BYのイメージ

バラバラのデータ
      ↓
同じ値ごとにグループ化
      ↓
グループごとに集計

GROUP BYは、後述するCOUNTSUMなどの集計関数と一緒に使うことが多いです。


8. HAVING

HAVINGとは?

HAVINGは、GROUP BYでグループ化した後のデータに条件を指定するための構文です。

例えば、

ユーザーごとの購入金額を集計して、合計金額が3000円以上のユーザーだけ取得したい

場合、

SELECT user_id, SUM(price)
FROM orders
GROUP BY user_id
HAVING SUM(price) >= 3000;

と書きます。

WHEREとの違い

ここは初心者が混乱しやすいポイントです。

WHERE
→ グループ化する前のデータに条件を指定

HAVING
→ GROUP BYでグループ化した後のデータに条件を指定

まずは、

WHEREはデータ、HAVINGはグループ

と覚えると分かりやすいです。


9. JOIN

JOINとは?

JOINは、複数のテーブルを結合するための構文です。

実際のデータベースでは、すべての情報を1つのテーブルに保存するとは限りません。

例えば、

usersテーブル

id name
1 山田
2 佐藤

ordersテーブル

id user_id price
1 1 1000
2 2 2000

この2つのテーブルから、

ユーザー名と購入金額を一緒に取得したい

場合は、JOINを使用します。

SELECT users.name, orders.price
FROM users
INNER JOIN orders
ON users.id = orders.user_id;

INNER JOIN

INNER JOINは、両方のテーブルに一致するデータを取得します。

SELECT users.name, orders.price
FROM users
INNER JOIN orders
ON users.id = orders.user_id;

LEFT JOIN

LEFT JOINは、左側のテーブルのデータを基本的に残しながら結合します。

SELECT users.name, orders.price
FROM users
LEFT JOIN orders
ON users.id = orders.user_id;

JOINは実務でも重要

SQL案件では複数のテーブルからデータを取得することが多いため、

  • INNER JOIN
  • LEFT JOIN
  • ON

あたりは、参画前に理解しておきたいポイントです。


10. COUNT・SUM・AVG

COUNT・SUM・AVGとは?

これらは、データを集計するときに使用する関数です。

COUNT

データの件数を数えます。

SELECT COUNT(*)
FROM users;

usersテーブルに何件のデータがあるかを取得できます。

SUM

数値を合計します。

SELECT SUM(price)
FROM orders;

購入金額の合計などを取得できます。

AVG
平均値を求めます。

SELECT AVG(age)
FROM users;

ユーザーの平均年齢などを取得できます。

よく使う集計関数

関数 意味
COUNT 件数
SUM 合計
AVG 平均
MAX 最大値
MIN 最小値

まずはCOUNTSUMAVGを覚えておくとよいでしょう。

実務でよく使うSQLの組み合わせ

SQLは、1つの構文だけで使うよりも、複数の構文を組み合わせて使用することが多いです。

例えば、

20歳以上のユーザーを取得し、年齢が高い順に並べる

場合、

SELECT name, age
FROM users
WHERE age >= 20
ORDER BY age DESC;

となります。

さらにJOINを組み合わせると、

SELECT users.name, orders.price
FROM users
INNER JOIN orders
ON users.id = orders.user_id
WHERE orders.price >= 1000
ORDER BY orders.price DESC;

のようなSQLになります。

最初は難しく感じるかもしれませんが、

SELECT → 何を取得する?
FROM   → どこから?
JOIN   → 他のテーブルと結合する?
WHERE  → どんな条件?
ORDER BY → どう並べる?

と、それぞれの役割を考えると理解しやすくなります。


参画前に特に覚えておきたい構文

10個すべてを完璧に覚えるのが難しい場合は、まず以下を優先しましょう。

優先度 ★★★

SELECT
WHERE
ORDER BY
JOIN
GROUP BY

このあたりは、SQLでデータを検索・取得するときによく登場します。

特にSELECTWHEREは、SQLの基本なので最優先で覚えておきましょう。

優先度 ★★

INSERT
UPDATE
DELETE
HAVING
COUNT / SUM / AVG

こちらも実務で使用するため、基本的な使い方は理解しておくと安心です。

SQLを覚えるときのポイント

SQLは、構文を丸暗記するだけではなかなか身につきません。

例えば、

SELECT name
FROM users
WHERE age >= 20;

を見たときに、

「usersテーブルから、20歳以上の人のnameを取得している」

と、日本語で説明できるようになることが重要です。

SQLを見たら日本語に変換してみる

SELECT

「何を取得する?」

FROM

「どのテーブル?」

WHERE

「どんな条件?」

このように考える癖をつけると、SQLの理解が進みやすくなります。

まとめ

今回は、SQL初心者が案件に参画するまでに覚えておきたい構文を10個紹介しました。

# 構文 役割
1 SELECT データを取得
2 WHERE 条件を指定
3 ORDER BY 並び替え
4 INSERT データを追加
5 UPDATE データを更新
6 DELETE データを削除
7 GROUP BY データをグループ化
8 HAVING グループに条件を指定
9 JOIN テーブルを結合
10 COUNTSUMAVG データを集計

SQLにはたくさんの構文がありますが、最初からすべて覚える必要はありません。

まずは、

SELECT → WHERE → ORDER BY → JOIN → GROUP BY

を中心に学習し、少しずつ使える構文を増やしていきましょう。

実際にSQLを書いて、データがどのように取得されるのかを確認することが、SQLを身につける近道です。

最後まで読んでいただきありがとうございます!

5
6
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
5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?