応用情報技術者試験ナビ ロゴ 応用情報技術者試験ナビ
合格発表日:2025年7月3日(あと26日)

応用情報技術者試験 令和4年秋 午前問27 解説付き過去問

問題

"従業員"表に対して"異動"表による差集合演算を行った結果はどれか。

正解

解説

この問題は、リレーショナルデータベースにおける集合演算の一つである「差集合演算(差演算、EXCEPT)」の結果を求めるものです。差集合演算は、二つの表のうち、一方の表に存在し、もう一方には存在しない行を抽出する操作です。

  1. 差集合演算の定義
    差集合演算は、集合Aから集合Bを引いたとき、Aに存在してBに存在しない要素の集合を返します。SQLの文法で表すと、次のような形になります。
    SELECT * FROM A
    EXCEPT
    SELECT * FROM B;
    つまり、表Aのうち、表Bと同一の行として一致しないものだけが残ります。

  2. 問題におけるデータの構成
    問題の表では、「従業員」表と「異動」表が与えられています。両表は同じ列構成(社員番号、氏名、所属)を持っており、差集合演算は従業員表から異動表に含まれるレコードを除いた結果となります。
    「従業員」表にあるうち、「異動」表に存在しないレコードを調べると、次の2件が該当します:
    • 社員番号:1002、氏名:鈴木、所属:人事
    • 社員番号:1005、氏名:伊藤、所属:総務

    これら2件の情報が差集合の結果として残ることになります。

  3. 選択肢の確認
    与えられた選択肢の中で、上記の2レコードのみが記載されたものを確認すると、該当するのは下記の選択肢です。

したがって、従業員表から異動表を差し引いた差集合の結果には、
「社員番号1002:鈴木(人事)」と「社員番号1005:伊藤(総務)」が含まれます。