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

PR広告

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

TOP :

問3 データベース

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

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

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

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

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

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

設問4

パスポートを購入する際に提示することで料金が割引になる会員証を発行することになった。そこで、図3に示すとおり、会員情報を格納する会員表を作成し、入園者表に会員番号を格納する項目を追加する。次のSQL文で抽出できるようになる会員についての正しい答えを、解答群の中から選べ。ここで、1回も入園していない会員はいないものとする。また、会員登録をしていない入園者の場合、入園者表の会員番号にはNULLを設定する。

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

SELECT 会員表.会員番号, 会員表.氏名
   FROM 会員表, 入園者表
   WHERE 会員表.会員番号 = 入園者表.会員番号
      GROUP BY 会員表.会員番号, 会員表.氏名
      HAVING MAX(入園者表.入園日) < '20160101'

解答群

  1. 2015年以前に1回も入園していない会員
  2. 2016年以降に1回以上、入園した会員
  3. 2016年以降に1回だけ、入園した会員
  4. 2016年以降に1回も入園していない会員

解説

上記SQLを読み解きます。

会員表と入園者表から解答群のいずれかの条件を満たす「会員番号」「氏名」を取得するSQLです。

条件はHAVINGをみましょう!

"HAVING MAX(入園者表.入園日) < '20160101'"は入園者表.入園日から最大値(MAX関数)を算出し、"20160101"以下としています。

入園者表.入園日の最大値とは「会員が最後に入園した日」です。

このことから、このSQLが抽出できるのが「エ 2016年以降に1回も入園していない会員」です!

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

TOP :

タグ: ,

PR広告

フェイスブックコメント

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

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

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

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

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

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

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

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

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