WHERE句とは?
WHERE句とは、SQL文で検索条件を指定するための構文。SELECT文などと組み合わせて、特定の条件に合致する行だけを絞り込んで取得する。
応用情報技術者試験の過去問では2回出題されています(2019年度〜2023年度)。
うぇあく
WHERE句の意味
SQL文で検索条件を指定するための構文。SELECT文などと組み合わせて、特定の条件に合致する行だけを絞り込んで取得する。
WHERE句の具体例
SELECT * FROM 商品 WHERE 価格 >= 1000 と書けば、価格が1000円以上の商品だけを抽出できる。
WHERE句は試験でどう引っ掛けられる?
絞り込む対象は行であって列ではない。列を選ぶのはSELECT、並べ替えはORDER BY、集計後の絞り込みはHAVINGと役割が分かれる。「WHEREで表示する項目を減らす」という説明は誤り。
WHERE句が出た過去問
過去3年分の記録を保存している“試験結果”表から、2018年度の平均点数が600点以上となったクラスのクラス名と平均点数の一覧を取得するSQL文はどれか。ここで…
正解:SELECT クラス名, AVG(点数) FROM 試験結果 WHERE 受験年月日 BETWEEN '2018-04-01' AND '2019-03-31' GROUP BY クラス名 HAVING AVG(点数) >= 600
要点:行の絞り込みはWHERE、集約結果の絞り込みはHAVINGに書く
2018年度に限定するには受験年月日を2018年4月1日から2019年3月31日の範囲でWHERE句により行単位で絞り込む。そのうえでクラス名でGROUP BYし、グループ全体の集計値に対する条件はHAVING句に書く必要があるため、HAVING AVG(点数) >= 600 とする。
出典:令和1年度 春期 応用情報技術者試験 午前 問28(IPA)更新可能なビューを作成するSQL文はどれか。ここで、SQL文中に現れる基底表は全て更新可能とする。
正解:CREATE VIEW 高額商品(商品番号, 商品名, 商品単価) AS SELECT 商品番号, 商品名, 商品単価 FROM 商品 WHERE 商品単価>1000
要点:更新可能ビューは単一表の選択と射影に限られる
ビューが更新可能であるためには、ビューの各行が基底表の1行に一意に対応し、更新内容を基底表へ一意に反映できる必要がある。単一の表からWHERE句で行を絞り、列をそのまま射影しただけのビューはこの条件を満たすので更新可能である。DISTINCT、GROUP BY、集約関数を含むビューは元の行との対応が失われるため更新できない。
出典:令和5年度 秋期 応用情報技術者試験 午前 問28(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。