関係データベースの“社員”表と“部署”表がある。
“社員”表と“部署”表を結合し,社員の住所と所属する部署の所在地が異なる社員を抽出する。
抽出される社員は何人か。
社員表(社員ID/氏名/部署コード/住所):H001/伊藤 花子/G02/神奈川県,H002/高橋 四郎/G01/神奈川県,H003/鈴木 一郎/G03/三重県,H004/田中 春子/G04/大阪府,H005/渡辺 二郎/G03/愛知県,H006/佐藤 三郎/G02/神奈川県
部署表(部署コード/部署名/所在地):G01/総務部/東京都,G02/営業部/神奈川県,G03/製造部/愛知県,G04/開発部/大阪府
正答2
解説
正解は2です。
関係データベースの2つの表を部署コードで結合し、社員の住所と部署の所在地が異なる社員を数える問題です。
【計算】
H001の伊藤花子さんは、住所が神奈川県、部署G02の所在地が神奈川県なので一致します。
H002の高橋四郎さんは、住所が神奈川県、部署G01の所在地が東京都なので異なります。
H003の鈴木一郎さんは、住所が三重県、部署G03の所在地が愛知県なので異なります。
H004の田中春子さんは、住所が大阪府、部署G04の所在地が大阪府なので一致します。
H005の渡辺二郎さんは、住所が愛知県、部署G03の所在地が愛知県なので一致します。
H006の佐藤三郎さんは、住所が神奈川県、部署G02の所在地が神奈川県なので一致します。
住所と所在地が異なるのは、H002とH003の2人です。
【選択肢別解説】
1:× 1人では、H002かH003のどちらかを見落としています。
2:○ 上のとおり、抽出される社員はH002とH003の2人です。
3:× 3人では、住所と所在地が一致する社員を1人誤って数えています。
4:× 4人では、一致する社員を2人誤って数えています。
【ポイント】
結合(ジョイン)は、共通の列(ここでは部署コード)の値が等しい行どうしをつなぐ操作です。
結合したうえで条件に合う行を取り出す操作を選択と呼びます。