基本情報技術者試験 過去問解説
SQLとは?基本情報技術者試験 平成25年度 春期 午前 問29を解説
基本情報技術者試験 平成25年度 春期 午前 問29は、SQLに関する理解を問う問題です。検索から入っても、問題文、選択肢、正解、解説、各選択肢がなぜ違うかをこのページだけで確認できます。
問題文
“BOOKS”表から書名に“UNIX”を含む行を全て探すために次のSQL文を用いる。aに指定する文字列として,適切なものはどれか。ここで,書名は“BOOKS”表の“書名”列に格納されている。 SELECT * FROM BOOKS WHERE 書名 LIKE '[a]'
この問題の出題ポイント
- SQLの定義だけでなく、問題文中の条件がどの選択肢に当てはまるかを確認する。
- 関連タグ: SQL、シェル、ビジネスモデル、メモリ。
選択肢
- ア%UNIX
- イ%UNIX%正解
- ウUNIX
- エUNIX%
正解
イ: %UNIX%
解説
LIKE演算子の % は0文字以上の任意文字列にマッチします。書名のどこかに「UNIX」を含む行を全て探すには両側に % を置く %UNIX% が必要で、イが正解です。
なぜ他の選択肢が違うのか
ア
%UNIX は最後が「UNIX」で終わる文字列にマッチし、後ろに文字が続く場合(例:UNIX入門)は拾えません。
イ(正解)
%UNIX% は前後に任意の文字列があってよいので、書名のどこかに「UNIX」を含む行をすべて検索でき正解です。
ウ
UNIX はワイルドカードなしの完全一致で、書名がちょうど「UNIX」の行しかマッチしません。
エ
UNIX% は先頭が「UNIX」で始まる文字列にしかマッチせず、途中や末尾に含まれる場合を漏らします。
解き方の整理
SQLの問題では、選択肢のキーワードだけで判断せず、問題文が示す条件と正解選択肢の説明が一致しているかを見ます。誤答選択肢は、似た用語を混ぜる、主体を入れ替える、目的や範囲を広げすぎる、という形で作られることが多いため、選択肢別解説まで確認しておくと復習効率が上がります。
関連問題
前後の問題
平成25年度 春期 午前 の関連する問題
復習を続ける
間違えた問題、苦手タグ、模試履歴を保存して復習する導線を用意しています。広告なしPro、弱点分析、復習リマインダーは段階的に提供予定です。