Skip to the content.

最終更新日:2026年6月22日

DS検定トップ > WHERE句とは?条件抽出の基本を理解する【DS検定】

まず結論

WHERE句とは、SQLで条件に一致する行だけを対象にするための構文です。

DS検定では、次のように切り分けると判断しやすくなります。

  • JOIN:テーブルを結合する
  • WHERE:行を条件で絞り込む
  • HAVING:集計後のグループを絞り込む

特に、WHEREは「データを表示するための条件」だけでなく、UPDATEDELETEどの行を対象にするかを指定する役割もあります。

直感的な説明

例えば、売上データが次のようにあるとします。

customer item price
田中 ノートPC 120000
佐藤 マウス 3000
鈴木 キーボード 8000

この中から「1万円以上の商品だけ見たい」とき、全件を見てから人間が探すのではなく、SQL側で条件を指定します。

SELECT *
FROM sales
WHERE price >= 10000;

結果は次のようになります。

customer item price
田中 ノートPC 120000

つまりWHERE句は、分析に必要な行だけを取り出すフィルターです。

定義・仕組み

WHERE句は、SQLで行を絞り込む条件を指定する部分です。

SELECT 列名
FROM テーブル名
WHERE 条件;

例えば、東京の顧客だけを取得するSQLは次の通りです。

SELECT name
FROM customers
WHERE city = 'Tokyo';

よく使う条件演算子は次の通りです。

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

複数条件を組み合わせる場合は、ANDOR を使います。

SELECT *
FROM sales
WHERE price >= 1000
  AND price < 10000;

DS検定では、SQLを完全に暗記するよりも、条件が行に対して働くのか、集計後の結果に対して働くのかを見分けることが重要です。

どんな場面で使う?

WHERE句は、データ分析の前処理や確認作業で頻繁に使います。

売上分析

  • 高額商品の行だけを抽出する
  • 特定商品の売上だけを確認する
  • 期間を絞って月次・年次の分析対象を作る

顧客分析

  • 特定地域の顧客だけを取り出す
  • 年齢や会員ランクで対象を絞る
  • キャンペーン対象者の候補を抽出する

ログ分析

  • 特定日時のログだけを見る
  • エラーが発生した行だけを抽出する
  • あるユーザーIDの操作履歴を確認する

実務では、WHERE句の条件を間違えると「分析対象が多すぎる」「必要な行が消える」「更新対象を誤る」といったミスにつながります。

よくある誤解・混同

① JOINとWHEREを混同する

SQL 役割
JOIN テーブルを結合する
WHERE 条件に合う行を残す

JOIN は表をつなぐ操作、WHERE は結合後または取得対象の行を絞る操作です。

DS検定で「テーブル同士を関連付ける」とあればJOIN、「条件に一致する行を抽出する」とあればWHEREと判断します。

② WHEREとHAVINGを混同する

絞り込む対象
WHERE 集計前の行
HAVING GROUP BYで集計した後のグループ

例えば「価格が1000円以上の明細行を抽出する」はWHEREですが、「売上合計が10万円以上の店舗を残す」はHAVINGが自然です。

③ WHEREはデータを変更する句だと思う

WHERE自体は「変更処理」ではありません。対象行を指定する条件です。

ただし、UPDATEDELETE と一緒に使うと、更新・削除される行を決めます。

UPDATE customers
SET rank = 'gold'
WHERE total_amount >= 100000;

このため実務では、更新や削除のWHERE条件を誤ると影響範囲が大きくなります。

まとめ(試験直前用)

  • WHERE句は「条件に一致する行」を対象にするSQLの構文
  • JOINはテーブル結合、WHEREは行の絞り込み
  • WHEREは集計前、HAVINGは集計後の条件
  • SELECTだけでなくUPDATEやDELETEでも対象行の指定に使う
  • DS検定では「何を絞る条件か」を見れば選択肢を切りやすい

対応スキル項目(データエンジニアリング力シート)

スキルカテゴリ:プログラミング

サブカテゴリ:SQL

★ SQLの構文を一通り知っていて、記述・実行できる(DML・DDLの理解、各種JOINの使い分け、集計関数とGROUP BY、CASE文を使用した縦横変換、副問合せやEXISTSの活用など)

🔗 関連記事



© 2024-2026 stemtazoo. All rights reserved.