平成23年度秋期 応用情報技術者試験 午前 問29

分野:データベース(関係モデル・正規化・SQL・トランザクション/排他制御・障害回復・NoSQL・データベース設計)|実際に出題されたIPA過去問題

価格設定年月日にNULLを含む"商品"表に対して,次の問合せを行った。この検索結果の行数は幾つか。 SELECT 商品コード FROM 商品 WHERE 価格設定年月日<'2011-12-01'

問題の図表(IPA公式問題冊子より引用)
図表:IPA公式問題冊子より
  1.  1
  2.  2
  3.  3
  4.  4
解答・解説を見る

正解:イ

AI解説

SQLの比較演算においてNULLとの比較結果は真でも偽でもなくUNKNOWN(不定)となり、WHERE句の条件としては成立しない扱いになるため、その行は検索結果に含まれない。価格設定年月日がNULLの行は「<'2011-12-01'」の条件で選ばれず、条件を満たすのは2011-12-01より前の日付をもつ2行だけである。 ア: 1行ではない。NULL行を除いても、2011-12-01より前の日付をもつ行は2行存在する。 イ: 正しい。NULLの行は比較結果がUNKNOWNとなって除外され、日付が2011-12-01未満の2行のみが返される。 ウ: 3行はNULLの行も件数に含めた場合の誤りである。NULLは大小比較の対象にならない。 エ: 4行は表の全行(または条件を無視した場合)であり、WHERE条件による絞り込みを考慮していない。 💡 NULLは「値が不明」を表し、=や<で比較しても真にならない。NULLを検索したいときはIS NULL/IS NOT NULLを使う、が頻出のひっかけポイントである。

出典:平成23年度 秋期 応用情報技術者試験 午前 問29 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。図表はIPA公式問題冊子から引用しています。著作権はIPAに帰属します。
📱 演習アプリで解く(無料・登録不要・2,640問収録)

「データベース」分野の攻略ポイント

関係モデル・正規化・SQL・トランザクション管理・障害回復・データベース設計が中心です。計算問題は少なく、定義と手順を正確に覚えていれば確実に得点できる、いわば「取りこぼしてはいけない」分野です。特に正規形とACID特性は毎年のように形を変えて出ます。

データベースの攻略ポイントをすべて見る(要点5項目・ひっかけ3項目)→

同じ分野(データベース(関係モデル・正規化・SQL・トランザクション/排他制御・障害回復・NoSQL・データベース設計))の過去問