応用情報技術者 2022年 秋期 午前2 問27
問題文
“従業員”表に対して“異動”表による差集合演算を行った結果はどれか。


選択肢
ア:
イ:(正解)
ウ:
エ:
従業員表に対する異動表の差集合演算【午前2 解説】
要点まとめ
- 結論:差集合演算は「従業員表にあって異動表にない行」を抽出し、正解はイの表です。
- 根拠:差集合は集合Aから集合Bに含まれる要素を除く操作であり、従業員表から異動表の従業員を除外します。
- 差がつくポイント:差集合の意味を正確に理解し、単なる結合や共通部分と混同しないことが重要です。
正解の理由
差集合演算は「従業員表に存在するが異動表には存在しない」レコードを抽出します。
異動表にある「A005」「B010」「D080」の従業員を従業員表から除くと、「A001」「C003」「C011」が残ります。
これがイの表の内容と一致するため、イが正解です。
異動表にある「A005」「B010」「D080」の従業員を従業員表から除くと、「A001」「C003」「C011」が残ります。
これがイの表の内容と一致するため、イが正解です。
よくある誤解
差集合を「両方にあるもの」や「両方を合わせたもの」と誤解しやすいです。
また、異動表にしかない「D080」を含めるのは誤りです。
また、異動表にしかない「D080」を含めるのは誤りです。
解法ステップ
- 従業員表の全レコードを確認する。
- 異動表の全レコードを確認する。
- 従業員表の中で異動表に存在する従業員IDを特定する。
- その従業員IDを従業員表から除外する。
- 残ったレコードが差集合の結果となる。
選択肢別の誤答解説
- ア:両表の全レコードを単純に結合しており、差集合の定義に反します。
- イ:差集合の定義通り、異動表にある従業員を除外した正しい結果です。
- ウ:異動表にある従業員のみを抽出しており、差集合ではなく共通部分に近い誤りです。
- エ:異動表にしかない「D080」だけを抽出しており、差集合の意味を取り違えています。
補足コラム
差集合演算は集合論の基本操作の一つで、SQLでは
データベース設計やクエリ作成時に、集合演算の意味を正確に理解することが重要です。
EXCEPTや
MINUS句で表現されます。
データベース設計やクエリ作成時に、集合演算の意味を正確に理解することが重要です。
FAQ
Q: 差集合と共通部分の違いは何ですか?
A: 差集合は「AにあってBにない要素」、共通部分は「AにもBにもある要素」です。
A: 差集合は「AにあってBにない要素」、共通部分は「AにもBにもある要素」です。
Q: SQLで差集合を表現する方法は?
A: 多くのDBMSで
A: 多くのDBMSで
EXCEPTまたは
MINUSを使い、差集合を取得します。
関連キーワード: 差集合演算、集合演算、SQL EXCEPT, データベースクエリ、集合論

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

