FE SUBJECT A
基本情報技術者 科目Aの問題解説
問題
商品表から単価が16000円以上23000円未満の商品を抽出する条件として適切なSQLはどれか。
- ア SELECT * FROM 商品表 WHERE 単価 >= 16000 AND 単価 < 23000;
- イ SELECT * FROM 商品表 WHERE 単価 > 16000 AND 単価 <= 23000;
- ウ SELECT * FROM 商品表 WHERE 単価 >= 16000 OR 単価 < 23000;
- エ SELECT * FROM 商品表 WHERE 単価 BETWEEN 16000 AND 23000;
出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.2 科目A範囲
正解と解説
正解:SELECT * FROM 商品表 WHERE 単価 >= 16000 AND 単価 < 23000;
正解:SELECT * FROM 商品表 WHERE 単価 >= 16000 AND 単価 < 23000;
考え方:「16000円以上」は16000を含むので >= 16000,「23000円未満」は23000を含まないので < 23000 を使う。さらに,両方の条件を同時に満たす商品だけを抽出するため,条件は AND で結ぶ。
誤答の理由:イは下限・上限の含み方が逆で,16000円ちょうどを除外し,23000円ちょうどを含んでしまう。ウは OR のため条件が広すぎる。エの BETWEEN は基本的に両端を含むので「23000円未満」にはならない。
軽い類題:「5000円以上8000円以下」を抽出するなら WHERE 単価 >= 5000 AND 単価 <= 8000。以上・以下は境界を含み,未満・超過は境界を含まない。
この問題について
IPAが公開するシラバス・試験範囲・公開問題の出題形式を参考にした独自作成問題。公式問題・過去問題の転載ではありません。
公式試験問題、過去問題、公式サンプル問題、市販教材の問題文を転載したものではありません。