SQLite | ゼロからはじめるSQL、30日で習得するSQLite:基礎理解 - Day1 データベースの概念

SQLite
スポンサーリンク

Day1 後半

Excelとの違いを理解し、「集合としてデータを見る」SQLの思考を身につける

前半では、データベースの正体とテーブル・行・列の意味をしっかり固めました。
後半では、初心者が必ずつまずく 「Excel と SQL の決定的な違い」 を、例題を使って深く理解していきます。

ここを理解すると、SQL が“ただの文法”ではなく、“データを扱うための考え方”だと分かり、学習効率が一気に上がります。


Excelとデータベースの本質的な違い

見た目は似ているが、思想がまったく違う

Excelもデータベースも「表」を扱いますが、目的が根本的に違います。

Excelは、人間が目で見て、手で編集するためのツールです。
データベースは、機械(プログラム)が大量のデータを安全に扱うための仕組みです。

この違いが、SQLの“集合操作”という考え方につながります。


Excelは「1行ずつ見る」

SQLは「行の集まり(集合)として扱う」

Excelでは、次のように“1行ずつ”処理する感覚があります。

1行目を見て条件に合うか判断する。
次に2行目を見る。
次に3行目を見る。

しかし SQL は違います。
SQL は 「テーブル全体をひとつの集合として扱い、条件に合う集合を取り出す」 という考え方で動きます。


例題:20歳以上のユーザーを取り出す

Excel的な思考とSQL的な思考の違いが一瞬で分かる例

Excel的な思考では、次のように考えます。

1行目の age を見る。
20以上なら残す。
2行目を見る。
20以上なら残す。
…を繰り返す。

SQLでは、たった1行で終わります。

SELECT * FROM users
WHERE age >= 20;
SQL

この1文で、
「users テーブルの中から、age が 20 以上の行だけを取り出す」
という集合操作が完了します。

SQLは“1行ずつ処理する”のではなく、
条件に合う集合を丸ごと取り出す のです。


集合として扱うメリット

SQLが強力な理由はここにある

集合として扱うことで、次のようなメリットがあります。

大量データでも高速に処理できる。
人間の手作業がないため、ミスが起きない。
条件を変えるだけで柔軟に抽出できる。
集計が圧倒的に強い。

たとえば平均年齢を出す場合、Excelでは関数を入れたり範囲を選んだりしますが、SQLなら次の1行です。

SELECT AVG(age) FROM users;
SQL

ExcelではやりがちなNG例

データベースでは絶対にやらない理由を理解する

Excelではよくやるけれど、データベースでは絶対にやらないことがあります。

空白行を入れる

Excelでは見やすくするために空白行を入れますが、データベースでは空白行も「意味のあるデータ」として扱われてしまいます。

1セルに複数の情報を入れる

Excelでは次のような書き方をしがちです。

東京都江東区(サンプルハイツ)

データベースでは、住所と建物名は別の列に分けます。
理由は、検索・集計・更新が正しく行えなくなるからです。

色で意味をつける

Excelでは「赤は重要」「黄色は注意」など色で意味をつけますが、データベースは色を保存しません。
意味をつけたいなら、状態を表す列を追加します。


SQL的な正しい考え方

「データはすべて“意味のある集合”として扱う」

SQLでは、テーブルは“データの集合”です。
その集合に対して、次のような操作を行います。

条件で絞り込む。
並べ替える。
集計する。
グループ分けする。

これらはすべて「集合に対する操作」です。
Excelのように「1行ずつ手作業で見る」という発想は捨ててください。


Day1 後半まとめ

Excelは人が触るための表。
データベースは機械が扱うための表。
SQLは「集合としてデータを扱う」ための言語。
1行ずつ処理するのではなく、条件で集合を取り出す。
Excelでやりがちな操作(空白行、複数情報、色付け)はデータベースではNG。

タイトルとURLをコピーしました