今回は、基本情報技術者試験でもよく出てくる SQL の基本文を解説します。
SELECT * FROM employee WHERE age >= 30;

ハク
SQLって英語みたいで難しそう…!

レイ
1つずつ読むと、とてもシンプルですよ。
SQLって何?
SQL(Structured Query Language)は、データベースに
- データを取り出す
- 追加する
- 更新する
- 削除する
ための言語です。
今回はその中でも最も基本的な
SELECT文(データを取り出す命令)
を見ていきます。
SQL文の例
SELECT * FROM employee WHERE age >= 30;
まずは日本語にすると?
employee(社員)表から、年齢が30歳以上のデータをすべて取り出す
たとえばこんな表があるとします
| 社員ID | 名前 | 年齢 |
|---|---|---|
| 1 | 田中 | 25 |
| 2 | 佐藤 | 31 |
| 3 | 鈴木 | 45 |
| 4 | 山田 | 28 |
SQLを実行すると…
SELECT * FROM employee WHERE age >= 30;
結果はこうなります。
| 社員ID | 名前 | 年齢 |
|---|---|---|
| 2 | 佐藤 | 31 |
| 3 | 鈴木 | 45 |
30歳以上の人だけが表示されました!
SQLを3つに分けて考えよう
SELECT * FROM employee WHERE age >= 30;
① SELECT *
「どの項目を表示するか」
* は
全部の列
という意味です。
例
- 社員ID
- 名前
- 年齢
すべて表示します。
② FROM employee
「どの表から取ってくるか」
employee は社員情報が入った表の名前です。
③ WHERE age >= 30
「どんな条件で絞り込むか」
age→ 年齢>=→ 以上30→ 30
つまり、
年齢が30以上の人だけ

ハク
SELECT * は“全部見せてください!”ってことなんだねっ!

レイ
その通りです。さらに WHERE で条件を指定しています。

ハク
ハク
「つまり…」
- 社員表から
- 全部の項目を
- 30歳以上の人だけ

レイ
完璧です。
WHERE がない場合
SELECT * FROM employee;
これは
employee表の全データを表示
という意味です。
* の代わりに列名を書くこともできる
SELECT name, age FROM employee WHERE age >= 30;
結果:
| 名前 | 年齢 |
|---|---|
| 佐藤 | 31 |
| 鈴木 | 45 |
よく使う比較演算子
| 演算子 | 意味 |
|---|---|
| = | 等しい |
| > | より大きい |
| < | より小さい |
| >= | 以上 |
| <= | 以下 |
| <> | 等しくない |
覚え方
SELECT 何を
FROM どこから
WHERE 条件
試験でのポイント
基本情報技術者試験では、
SELECTFROMWHERE- 比較演算子
の意味がよく問われます。
まとめ
SELECT * FROM employee WHERE age >= 30;
は、
employee表から、年齢が30歳以上のデータをすべて取得する
という意味です。

ハク
SQLは英語をそのまま読めば意味がわかるんだねっ!

レイ
SELECT → FROM → WHERE の順番を覚えることが重要です。


コメント