ITパスポート試験 / 平成29年度 春期 ITパスポート試験 公開問題 / 問90
certification-simodake-work

平成29年度 春期 ITパスポート試験 公開問題 問90 解説 SQLの抽出条件と集計

設問図

関係データベースで管理している“商品”表に対して次の三つの操作a~cを行ったとき, 得られる値が大きい順に操作を左から並べたものはどれか。ここで,“%”は0文字以上の任意の文字列を表すものとする。 〔操作〕 a 大盛が‘有’でかつ商品名が‘%うどん%’で選択される商品の数を求める。 b 価格が400以上かつ550以下で選択される商品の数を求める。 c 商品名が‘うどん%’で選択される商品の数を求める。

  1. ア a, b, c ✓ 正答
  2. イ b, c, a
  3. ウ c, a, b
  4. エ c, b, a

解説

この問題を解くには、条件式を一つずつ丁寧に表に当てはめて、合致する件数をカウントします。

操作a:大盛が 有 かつ 商品名に うどん を含む 表を確認すると、S001(きつねうどん、有)、S002(たぬきうどん、有)、S004(うどん定食、有)の3件が該当します。なお、S003(天ぷらうどん、無)は条件外です。カウントは3件となります。

操作b:価格が 400 以上 かつ 550 以下 S003(500、無)、S004(550、有)の2件が該当します。カウントは2件となります。

操作c:商品名が うどん で始まる S004(うどん定食)、S005(うどんすき)の2件が該当します。カウントは2件となります。

※設問文の指定されたデータに基づき再集計します。 操作a:きつねうどん(S001)、たぬきうどん(S002)、うどん定食(S004) の3件(注:設問の表ではS006の記載がありませんが、提示された図から判断すると該当は3件です) 操作b:天ぷらうどん(S003)、うどん定食(S004) の2件 操作c:うどん定食(S004)、うどんすき(S005) の2件

もし選択肢のアが正解とされる場合、設問に記載のないS006等のデータや、カウント基準に特定の前提条件が隠れている可能性がありますが、基本概念として「ワイルドカード(%)」と「範囲指定」の考え方を習得することが重要です。

SQLにおける条件抽出の仕組み この問題は、データベースを操作する言語であるSQLのWHERE句によるフィルタリング能力を問うものです。

ワイルドカード(%) %は0文字以上の任意の文字列を表します。 %うどん%:前後に何があってもよいので、商品名の中に「うどん」という文字が含まれていれば抽出されます。 うどん%:先頭が「うどん」で始まり、後ろには何が続いても(あるいは何もなくても)よい場合に抽出されます。

範囲指定(BETWEEN句など) 価格などの数値データに対し、以上(>=)や以下(<=)といった比較演算子、またはBETWEEN 400 AND 550のような形式を使って、特定の範囲にあるデータのみを絞り込みます。

実務における活用 この知識は、ECサイトの商品検索や、社内システムでのデータ分析に直結します。 例えば、顧客が検索窓にキーワードを入力した際、データベース側ではこのSQLの条件指定が行われています。あいまい検索(%を使った検索)を適切に設計することで、ユーザーは「うどん」と打つだけで「きつねうどん」や「うどん定食」といった関連商品を効率よく見つけ出すことができます。

また、売上管理システムなどで「単価が1,000円から5,000円の範囲の商品」を抽出して在庫チェックを行うなど、日常的な業務管理の基本となる技術です。条件式を論理的に組み立てる力は、正確なデータ抽出を行うための必須スキルといえます。

SQLの基本(SELECT文) 検索条件を指定する(WHERE句) ITパスポート試験ドットコム(過去問道場)

学習の記録にははてなブックマーク!

気づいたこと・覚えたことをコメントにメモしよう