社員表と部署表を結合して該当する人数を数える
ITパスポート試験 平成31年度春期 問78 / データベース › データ操作
過去問にチャレンジ
関係データベースの"社員"表と"部署"表がある。"社員"表と"部署"表を結合し,社員の住所と所属する部署の所在地が異なる社員を抽出する。抽出される社員は何人か。

- ア
1
- イ
2
- ウ
3
- エ
4
会話形式の解説
講師まず、両方の表にある部署コードで社員と部署を結び付けます。その後、社員の住所と部署の所在地を比べましょう。
受験者同じ部署コードの社員なら、比較結果も同じになりそうです。
講師そこが注意点です。同じG03に所属するH003とH005でも、住所はそれぞれ三重県と愛知県です。
受験者G03の所在地は愛知県なので、H003だけが異なり、H005は一致しますね。
講師そのとおりです。さらに、H002は住所が神奈川県で、所属するG01の所在地は東京都です。
受験者異なるのはH002とH003の2人です。1人ではH002かH003を見落としていますね。
講師はい。3人と数える場合は、H005も加えていないか確認してください。H005の住所と部署の所在地はどちらも愛知県です。
受験者残るH001、H004、H006も一致するのでしょうか。
講師はい。その3人とH005を合わせた4人は一致します。4人という選択肢は、求める条件を逆に数えた結果です。
受験者部署コードで結合してから一人ずつ比べれば、抽出されるのは2人だと分かります。
講師表を結合する項目と、結合後に比較する項目を分けて考えるのがポイントです。
まとめ
社員表と部署表は、共通の部署コードで結合します。各社員の住所と所属部署の所在地を比べると、異なるのはH002とH003の2人です。同じ部署の社員でも住所が同じとは限りません。住所と所在地が一致する4人を数えないようにします。
解答・解説
正解はイです
この問題のテーマ
関係データベースの表を共通の項目で結合し、条件に合う行を数える問題です。
解き方の考え方
社員表と部署表を「部署コード」で結び付け、各社員の住所と所属部署の所在地を比べます。部署名や社員の人数だけで判断せず、社員を一人ずつ確認します。住所と所在地が異なるのはH002とH003なので、答えは2人です。
選択肢ごとの解説
- ×ア 1「1人」は少なすぎます。H002は神奈川県に住み、所属部署は東京都にあります。さらにH003も三重県に住み、所属部署は愛知県にあるため、少なくとも2人が該当します。
- ○イ 2「2人」が正解です。部署コードで結合して住所と所在地を比べると、異なるのはH002とH003です。ほかの4人はそれぞれ住所と所属部署の所在地が一致するので、抽出結果は2人になります。
- ×ウ 3「3人」にはなりません。例えばH005はG03に所属していますが、住所もG03の所在地も愛知県です。条件に合うH002とH003にH005を加えて数えないようにします。
- ×エ 4「4人」は、住所と部署所在地が一致する社員の人数です。設問が求めているのは両者が異なる社員なので、数える対象が逆です。該当するのはH002とH003の2人です。
補足
部署コードが同じ社員は、同じ部署の所在地と比較します。例えばG03のH003とH005は同じ部署に所属しますが、住所が異なるため、条件に合うかどうかも異なります。
POINT
- 表の結合には、両方の表にある部署コードを使います。
- 結合後は、同じ社員の住所と所属部署の所在地を比較します。
- H002とH003は住所と部署所在地が異なります。
- 一致する人数と異なる人数を取り違えないようにします。
