Shikata Ga Nai

Private? There is no such things.

第24回:クエリの基本:SELECT文とWHERE句って何?

Hello there, ('ω')ノ

「データベースから欲しい情報だけ取り出したい」 「分析のためにデータを抽出したい」

そんなときに欠かせないのが、SQL(エスキューエル)というデータ操作言語です。


✅ クエリって何?

「クエリ(query)」とは、データベースに送る質問・命令のことです。 例えば:

「売上データの中から、2024年だけを見せて」 「社員一覧から営業部だけを取り出したい」

このような命令を出すための言語が、SQL(Structured Query Language)です。


🟩 SELECT文とは?:データを「選ぶ」文法

🔸 基本構文:

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

🔍 例:

SELECT name, age FROM employees;

employees というテーブルから、name(名前)と age(年齢)の列だけを取り出します。

✅ ポイント:

  • SELECT=どの列を見たいか
  • FROM=どの表(テーブル)から取るか
  • * を使えば「全部の列」を取れます:
SELECT * FROM employees;

🟨 WHERE句とは?:条件をつけて絞る

SELECT文に条件を加えることで、必要なデータだけを抽出できます。 この条件指定が WHERE(ホエア)句です。

🔸 基本構文:

SELECT カラム名 FROM テーブル名 WHERE 条件;

🔍 例:

SELECT name, department FROM employees WHERE department = '営業部';

employees テーブルから、「営業部」に所属する人の名前と部署を取り出します。


🔧 よく使う条件表現(WHERE句の中身)

演算子 意味
= 等しい age = 30(30歳)
!= または <> 等しくない department != '総務部'
> / < より大きい・小さい salary > 300000
BETWEEN A AND B 範囲指定 age BETWEEN 25 AND 35
LIKE 部分一致(あいまい検索) name LIKE '山%'(「山」で始まる名前)
IN 複数候補の指定 department IN ('営業部', '開発部')

🎯 SELECT + WHERE の実用例

① 年収が500万円以上の社員を抽出:

SELECT name, salary FROM employees WHERE salary >= 5000000;

② 入社日が2022年の人を抽出:

SELECT name, hire_date FROM employees WHERE hire_date LIKE '2022%';

LIKE '2022%' は「2022年で始まる日付」という意味。


🧠 クエリ実行の流れ(図解イメージ)

データベース
  ↓
[ SELECT ] → どの項目を見る?
  ↓
[ FROM ] → どこから見る?
  ↓
[ WHERE ] → 条件はある?
  ↓
抽出された結果が画面に表示される

💡 SELECT文を活用するアイデア

活用場面 クエリの例
顧客管理 年齢30代の顧客を抽出してアプローチ対象に
売上分析 特定月の売上だけを見て前年比を比較
勤怠チェック 遅刻が多い社員を抽出して指導対象に
イベント参加者集計 申込者の中から“初参加”のみ抽出

「見たい情報を言葉にする」→「クエリに落とす」 これが、SQLの思考パターンです。


✅ まとめ:SELECT文とWHERE句がSQLの土台!

ポイント 内容
クエリとは? データベースに送る「質問」
SELECT文 「どのデータを取り出すか」を指定
WHERE句 「どんな条件で絞るか」を指定
応用の第一歩 ANDORで条件を組み合わせたり、並び替え・集計も可能(次回以降に紹介)

Best regards, (^^ゞ