第12問
下表は、2010年月日のあるスーパーマーケットの売上表である。この表に 対して、次のSQL 文を実行した結果として最も適切なものを下記の解答群から選 べ。 SELECT 顧客ID FROM 売上表 WHERE 商品名 LIKE ‘野菜%’ AND 単価> 100 売上表 取引番号 取引日 顧客ID 商 品 名 購入数 単 価 100 2010/2/9 111 カップ麺ニコニコ 4 98 101 2010/2/9 111 野菜N 産大根 1 156 102 2010/2/9 201 野菜N 産大根 1 156 103 2010/2/9 303 カップ麺ケロケロ 2 98 104 2010/2/9 303 野菜M 産にんじん 1 55 105 2010/2/9 303 ジュース野菜味 2 110 106 2010/2/9 101 サラダ野菜 2 175 107 2010/2/9 101 カップ麺はるさめ 1 88 108 2010/2/9 222 野菜N 産大根 2 156 109 2010/2/9 222 サラダ果物 1 250 110 2010/2/9 222 野菜M 産にんじん 2 55 111 2010/2/9 111 ジュースオレンジ 3 99 112 2010/2/9 111 牛乳K 産
- ア 顧客ID
- イ 顧客ID
- ウ 顧客ID
- エ 顧客ID ― 11― ◇M6(295―153)
▼ 解答・解説を見る
正解:イ
解答:イ
〔リード〕SQLは「商品名 LIKE ‘野菜%‘(商品名が”野菜”で始まる)AND 単価>100」を満たす行の顧客IDを抽出する。LIKEの「%」は0文字以上の任意文字列にマッチするワイルドカード。
- 商品名が「野菜」で始まる行:野菜N産大根(単価156)、野菜M産にんじん(単価55)。
- 「ジュース野菜味」「サラダ野菜」は先頭が”野菜”でないため対象外。
- さらに「単価>100」を満たすのは 野菜N産大根(156)のみ。野菜M産にんじん(55)は除外。
- 野菜N産大根の行(取引101・102・108)の顧客IDは 111、201、222 の3件が抽出される。
選択肢は公式正解 イ が、上記の顧客ID(111・201・222)を過不足なく列挙した結果表に該当する。他の選択肢は、商品名のマッチ範囲を誤る(“野菜”を含む全商品を拾う等)、または単価条件を反映せず にんじん(55)を含めてしまうなどの誤った結果表であり不適。
よって イ。