仕事でSQLを久しぶり使用したら「勉強しなおして」と言われたので 改めて基本からBLOGにまとめてみたいと思います。 なんとく使っていた部分からすっかり忘れているものも学習しなおそうと思います。

SQLとは?

SQL(Structured Query Language)は、データベースからデータを取得したり、追加、更新、削除したりするための言語です。データベースの中にある情報を操作するために使います。

1. 基本の構文

SQLの基本的なクエリは、以下の構成になります。

SELECT 列名 FROM テーブル名 WHERE 条件;
  • SELECT: 取得したいデータ(列)を指定します。
  • FROM: どのテーブルからデータを取得するかを指定します。
  • WHERE: 条件を指定して、特定のデータだけを取得します(任意)。

例:

SELECT name, age FROM users WHERE age > 20;

このクエリは、usersというテーブルから、ageが20歳以上のユーザーの名前と年齢を取得します。

2. テーブルの構造

SQLは通常、データベース内の「テーブル」に保存されたデータを操作します。テーブルは以下のように、列(カラム)と行(レコード)から構成されています。

例えば、usersというテーブルは次のような構造です:

id name age
1 たろう 25
2 はなこ 30
3 じろう 19
  • 列(カラム):id, name, age
  • 行(レコード):各ユーザーの情報(1行が1つのユーザーのデータ)

3. データの取得 (SELECT)

最もよく使うSQLコマンドは、データを取得するSELECT文です。

全ての列を取得する:

SELECT * FROM users;

*は、すべての列を意味します。このクエリは、usersテーブルの全ての列(id, name, age)を取得します。

特定の列を取得する:

SELECT name FROM users;

このクエリは、usersテーブルからname列のデータだけを取得します。

4. 条件を使ってデータを絞り込む (WHERE)

WHERE句を使うと、特定の条件に合致するデータだけを取得することができます。

例:

SELECT name FROM users WHERE age >= 20;

このクエリは、ageが20以上のユーザーの名前を取得します。

5. データを並び替える (ORDER BY)

ORDER BYを使うと、データを昇順や降順で並び替えることができます。

昇順(小さい順)で並べる:

SELECT name, age FROM users ORDER BY age ASC;

このクエリは、ageの値が小さい順にユーザーの名前と年齢を取得します。ASCは昇順(Ascending)を意味します。

降順(大きい順)で並べる:

SELECT name, age FROM users ORDER BY age DESC;

DESCは降順(Descending)を意味し、年齢が大きい順に並べ替えます。

6. 集計 (GROUP BY と 集計関数)

データをグループ化して、合計や平均などの集計を行うこともできます。

例:各年齢ごとの人数をカウントする

SELECT age, COUNT(*) FROM users GROUP BY age;

このクエリは、各年齢ごとに何人のユーザーがいるかをカウントします。COUNT(*)は行数を数える関数です。

7. まとめ

ここまでで学んだSQLの基本的なコマンドは次のとおりです:

  • SELECT: データを取得
  • FROM: データを取得するテーブルを指定
  • WHERE: 条件に合致するデータを絞り込み
  • ORDER BY: データを並び替え
  • GROUP BY: データをグループ化して集計

これらがSQLの基礎です。 まずはシンプルなクエリから始め、実際に練習することで理解を深めていきたいと思います。