関係データベースで管理している“商品”表に対して次の三つの操作a〜cを行ったとき,得られる値が大きい順に操作を左から並べたものはどれか。
ここで,“%”は0文字以上の任意の文字列を表すものとする。
〔操作〕
a 大盛が‘有’でかつ商品名が‘%うどん%’で選択される商品の数を求める。
b 価格が400以上かつ550以下で選択される商品の数を求める。
c 商品名が‘うどん%’で選択される商品の数を求める。
〔商品表(商品番号・商品名・価格・大盛)〕
S001 きつねうどん 300 有
S002 たぬきうどん 250 有
S003 天ぷらうどん 500 無
S004 うどん定食 550 有
S005 うどんすき 600 無
S006 カレーうどん 400 有
正答1
解説
正解は1です。
各操作の条件に合う商品を表から数え、その数を比べます。
‘%うどん%’は商品名のどこかに「うどん」を含むもの、‘うどん%’は商品名が「うどん」で始まるものを表します。
【計算】
aの条件は、大盛が‘有’で、商品名に「うどん」を含むことです。
該当するのはS001きつねうどん、S002たぬきうどん、S004うどん定食、S006カレーうどんの4件です。
bの条件は、価格が400以上550以下であることです。
該当するのはS003天ぷらうどん(500)、S004うどん定食(550)、S006カレーうどん(400)の3件です。
cの条件は、商品名が「うどん」で始まることです。
該当するのはS004うどん定食、S005うどんすきの2件です。
件数はa=4、b=3、c=2なので、大きい順にa、b、cです。
【選択肢別解説】
1:○ 件数はaが4件、bが3件、cが2件なので、a、b、cの順になります。
2:× b(3件)、c(2件)、a(4件)の順は、最も多いaを最後にしているので誤りです。
3:× cは2件で最も少ないので、cを先頭にする並びは誤りです。
4:× cを先頭、aを最後にしており、実際の件数の順と逆になっています。
【ポイント】
「%」は0文字以上の任意の文字列を表すので、‘%うどん%’は「うどん」で始まるものや終わるものも含みます。
1文字だけを表す「_」との違いも押さえておきましょう。