本文へスキップ

FE SUBJECT A

基本情報技術者 科目Aの問題解説:商品表から単価が11000円以上21000円未満の商品を抽出…

テクノロジ系 標準 fe_a_s005_q007

問題

商品表から単価が11000円以上21000円未満の商品を抽出する条件として適切なSQLはどれか。

  1. 単価 <= 11000 AND 単価 >= 21000
  2. 単価 > 11000 OR 単価 < 21000
  3. 単価 >= 11000 AND 単価 < 21000(正解)
  4. 単価 BETWEEN 21000 AND 11000
出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.2 科目A範囲

正解と解説

正解:単価 >= 11000 AND 単価 < 21000

考え方:条件式を境界の含む・含まないに注意して組み立てる問題です。「11000円以上」は下限を含むので 単価 >= 11000,「21000円未満」は上限を含まないので 単価 < 21000 で表します。両方の条件を同時に満たす必要があるため、AND で結びます。

誤答の理由:OR を使うと、11000円より大きい商品または21000円未満の商品を広く拾ってしまい、範囲指定になりません。<= 11000 AND >= 21000 は通常同時に成り立たず、BETWEEN 21000 AND 11000 は範囲の向きも不自然です。

軽い類題:「100以上200未満」なら x >= 100 AND x < 200 です。以上・以下は含む、未満・超は含まない、と記号に直すと迷いません。

他の選択肢はなぜ違う?

  • =21000は1点だけの一致で、しかも『21000未満』に反する。
  • ORでは『11000より大きい』か『21000未満』のどちらかを満たせば通ってしまい、ほぼ全件が対象になる。
  • BETWEENは小さい値→大きい値の順で書く約束。逆順では意図した範囲にならない。

この問題について

出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.2 科目A範囲

IPAが公開するシラバス・試験範囲・公開問題の出題形式を参考にした独自作成問題。公式問題・過去問題の転載ではありません。

公式試験問題、過去問題、公式サンプル問題、市販教材の問題文を転載したものではありません。

参考範囲: シラバスVer.9.2参考

参考文献・出典(公式情報)

RELATED

関連問題