SQL文の基本|SELECT文を完全に理解する【初心者向け】

あけお

スクールに多額のお金を支払う前に、僕の記事で学習してね!

目次

はじめに

データベース学習で
多くの人が最初につまずくのが SQL です。

  • 文法が独特
  • 英語っぽいけど英語じゃない
  • エラーが怖い

特に SELECT文 は、

「一応書けるけど、正直よく分かっていない」

という状態になりがちです。

この記事では、

SQLとは何か?
SELECT文は何をしているのか?

を、概念 → 実例 → 実務視点の順で解説します。

SQLとは何か?

SQL(Structured Query Language)とは、

DBMSに対して
データを操作するための命令文

です。

  • データを取り出す
  • データを追加する
  • データを更新する
  • データを削除する

といった操作を
人間がDBMSに伝える言語です。

SQLで一番重要なのはSELECT文

SQLにはいろいろな種類がありますが、

最も重要なのが SELECT文

です。

理由は、

  • データの取得が最も多い
  • パフォーマンスに直結する
  • すべての基本になる

からです。

SELECT文の基本形

まずは最も基本の形です。

SELECT カラム名 FROM テーブル名;

例:

SELECT name FROM users;

👉
usersテーブルから name カラムを取得する

という意味です。

SELECT * は何をしている?

よく見る形です。

SELECT * FROM users;

これは、

usersテーブルの
すべてのカラムを取得する

という意味です。

学習中はOKですが、

  • 本番では非推奨
  • 不要なデータまで取る

👉
必要なカラムだけ取る癖をつけましょう。

WHERE句|条件を指定する

WHERE句は、

条件を指定して
データを絞り込む

ために使います。

SELECT * FROM users WHERE id = 1;

👉
idが1のユーザーだけ取得

よく使う比較演算子

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

AND / OR|条件を組み合わせる

複数条件を指定したい場合です。

SELECT * FROM users
WHERE age >= 20 AND status = 'active';

👉
20歳以上かつ有効なユーザー

ORDER BY|並び替える

ORDER BYは、

取得結果の順番を指定する

ために使います。

SELECT * FROM users ORDER BY created_at DESC;
  • ASC:昇順
  • DESC:降順

👉
最新順・古い順がよく使われます。

LIMIT|取得件数を制限する

LIMITは、

取得する件数を制限する

ために使います。

SELECT * FROM users LIMIT 10;

👉
最初の10件だけ取得

WHERE / ORDER BY / LIMIT の組み合わせ

実務でよく使う形です。

SELECT id, name
FROM users
WHERE status = 'active'
ORDER BY created_at DESC
LIMIT 10;

👉
「有効ユーザーを最新順で10件」

SELECT文は「英語で読む」

SELECT文は
英語として読むと理解しやすくなります。

SELECT name FROM users WHERE id = 1;


「usersから、idが1のnameを選択する」

JOINはまだ完璧に分からなくてOK

この段階では、

JOINは
「テーブルをくっつけるもの」

という理解で十分です。

詳細は
別の子記事
しっかり解説します。

SELECT文とパフォーマンスの関係

重要な考え方です。

SELECT文は
書き方次第で
速度が大きく変わる

  • *を使いすぎない
  • 条件を絞る
  • 件数を制限する

👉
SQL=性能です。

LaravelでのSELECT文

Laravelでは、

User::where('status', 'active')
    ->orderBy('created_at', 'desc')
    ->limit(10)
    ->get();

と書きますが、
裏では同じSELECT文が実行されています。

👉
SQLを理解するとEloquentも理解できます。

初心者が最初に身につけるべきこと

この段階では、

  • SELECT / FROM
  • WHERE
  • ORDER BY
  • LIMIT


自然に読めるようになればOKです。

次に学ぶべきこと

SELECT文が分かったら、
次は👇です。

👉 トランザクションと同時実行制御
(なぜDBは壊れないのか)

まとめ

  • SQLはDBMSへの命令
  • SELECT文が最重要
  • 条件・並び・制限が基本
  • SQL理解はLaravel理解につながる

この記事は
SQL学習のスタート地点です。

あけお

あなたの挑戦を応援しています!!

よかったらシェアしてね!
目次