総視聴再生時間43万分以上(2017年5月13日現在)の動画で基本情報技術者試験の過去問&キーワード解説!スキマ時間に動画!〜これじょIT〜

PR広告

平成28年度春 基本情報技術者試験午後 過去問3 データベース 設問3 合格率アップ!動画付き解説

TOP :

問3 データベース

遊園地の入園者情報を管理する関係データベースに関する次の記述を読んで、設問1~4に答えよ。

 遊園地Yでは、各アトラクションの入り口にICカードの読取り機を設置して、入園者の利用状況を収集するシステムを導入した。入園者は、全てのアトラクションを追加料金なしで利用できるパスポートか、アトラクション利用の都度、料金が課金される入園券のいずれかを購入し、対応するICカードを受け取る。ICカードは退園時に料金を精算してから返却する。ここで、入園者は退園まで遊園地を出ることはないものとする。

 遊園地Yでは、システム導入前は入園者の情報を図1に示す表で構成されるデータベースで管理していた。下線付きの項目は主キーを表す。

平成28年度春応用情報技術者試験午問3 データベース 合格率アップ!動画解説!

平成28年度春応用情報技術者試験午問3 データベース 合格率アップ!動画解説!

平成28年度春応用情報技術者試験午問3 データベース 合格率アップ!動画解説!

設問3

入園券でアトラクションを利用した入園者のうち、退園時の精算において2,000円以上を支払った入園者について、精算額が多い入園者から降順に、入園者番号と精算額を表示する。入園券の購入者は入園者表の券種に"01"が設定されている。次のSQL文の に入れる正しい答えを、解答群の中から選べ。

SELECT 入園者表.入園者番号, SUM(アトラクション表.料金) AS 支払金額
FROM 入園者表, 利用表, アトラクション表
WHERE 入園者表.入園者番号 = 利用表.入園者番号
AND   利用表.アトラクション番号 = アトラクション表.アトラクション番号
AND   d
ORDER BY 支払金額 DESC

d に関する解答群

ア:

入園者表.券種 = '01'
AND アトラクション表.料金 > 2000
GROUP BY 利用表.アトラクション番号

イ:

入園者表.券種 = '01'
GROUP BY 入園者表.入園者番号
HAVING MAX(アトラクション表.料金) >= 2000

ウ:

入園者表.券種 = '01'
GROUP BY 入園者表.入園者番号
HAVING SUM(アトラクション表.料金) >= 2000

エ:

入園者表.券種 = '01'
GROUP BY 利用表.アトラクション番号
HAVING SUM(アトラクション表.料金) >= 2000

解説

条件を整理します。

表示するデータは「入園者番号」と「精算額」です。

条件は「2,000円以上支払った」ことです。また、入園権の購入者は入園者表の券種が"01"です。

「精算額が多い入園者から降順に」という部分は"ORDER BY 支払金額 DESC"で表現されています。

入園権の購入者は入園者表の券種が"01"は選択肢をみるとすべてに"入園者表.券種 = '01'"があることから、満たされています。

表示するデータは「入園者番号」と「精算額」です。精算額は選択肢をみると"SUM(アトラクション表.料金) AS 支払金額"で表現できます。SUMは合計する関数です。

「入園者番号」ごとに精算するので、"GROUP BY 入園者表.入園者番号"と記載する必要があり、「イ」「ウ」には記載があります。

最後に「2,000円以上支払った」ですが、合計値の条件は"HAVING"を使います。合計値なので関数はSUMを使い"HAVING SUM(アトラクション表.料金) >= 2000"と書きます。

これらをすべて満たすのは「ウ」です!

平成28年度春 基本情報技術者試験午後 目次

TOP :

タグ: ,

PR広告

フェイスブックコメント

平成28年度秋 基本情報技術者試験 午後 テキスト・動画解説

平成28年度秋 基本情報技術者試験 午前 テキスト・動画解説

平成28年度春 基本情報技術者試験 午後 テキスト・動画解説

平成28年度春 基本情報技術者試験 午前 テキスト・動画解説

平成27年度秋 基本情報技術者試験 午後 テキスト・動画解説

平成27年度春 基本情報技術者試験 午後 テキスト・動画解説

平成27年度春 基本情報技術者試験 午前 テキスト・動画解説

平成26年度秋 基本情報技術者試験 午前 テキスト・動画解説

平成26年度春 基本情報技術者試験 午前 テキスト・動画解説