修了試験 2018-06-10実施分 基本情報技術者試験 問27
"BOOKS"表から書名に"UNIX"を含む行を全て探すために次のSQL文を用いる。 aに指定する文字列として,適切なものはどれか。 ここで,書名は"BOOKS"表の"書名"列に格納されている。 SELECT * FROM BOOKS WHERE 書名 LIKE 'a'
正答2
解説
正解は2です。 SQLのLIKE述語では、%が0文字以上の任意の文字列を表すワイルドカードです。 書名のどこかにUNIXを含む行を探すには、UNIXの前後どちらにも任意の文字列があってよいパターンを指定します。 【選択肢別解説】 1:× '%UNIX'は、UNIXで終わる書名だけに一致します。 「UNIX入門」のようにUNIXの後ろに文字が続く書名は探せません。 2:○ '%UNIX%'は、UNIXの前後に任意の文字列(0文字を含む)があってよいので、UNIXを含むすべての書名に一致します。 3:× 'UNIX'はワイルドカードを含まないため、書名がちょうどUNIXである行にしか一致しません。 4:× 'UNIX%'は、UNIXで始まる書名だけに一致します。 UNIXの前に文字がある書名は探せません。 【ポイント】 LIKE述語のワイルドカードは、%が0文字以上の任意の文字列、_(下線)が任意の1文字です。 前方一致、後方一致、部分一致のパターンを区別して覚えましょう。まとめて解く
修了試験 2018-06-10実施分を通しで解く(80問)→