基本情報技術者試験 - 令和5年12月修了 - 問20
“社員” と “部門” 表に対して,次のSQL文を実行したときの結果はどれか。
SELECT COUNT(*)FROM 社員,部門 WHERE 社員.所属 = 部門.部門名 AND 部門.フロア = 2
SELECT COUNT(*)FROM 社員,部門 WHERE 社員.所属 = 部門.部門名 AND 部門.フロア = 2
社員
|
部門
|
| ア | 1 |
|---|---|
| イ | 2 |
| ウ | 3 |
| エ | 4 |
答え : ウ
分野 : テクノロジ系 › 技術要素 › データベース › データ操作
解説 :
「社員」表と「部門」表を結合し,フロアが2である部門に所属する社員の人数を数えるSQL文についての問題です。まず「部門」表を見ると,フロアが2である部門は,情報システム,経理,法務,購買の4つです。次に「社員」表を見て,これらの部門に所属している社員を数えます。
所属が情報システムの社員は「11005」と「12002」の2人,所属が経理の社員は「11002」の1人です。法務と購買に所属している社員は,社員表の中には見当たりません。したがって,条件に当てはまる社員の合計人数は2+1=3人となり,正解は「ウ」です。
不正解の選択肢は,フロアが2の部門を数え間違えたり,社員と部門の対応関係を正しく確認できていなかったりした場合に出やすい値です。このようなSQL文の結果を求める問題では,まずWHERE句の条件(この場合はフロアが2であること)を満たす部門を特定し,それに該当する社員を数え上げるという手順で確実に解いていくことが大切です。
分野 : テクノロジ系 › 技術要素 › データベース › データ操作
解説 :
「社員」表と「部門」表を結合し,フロアが2である部門に所属する社員の人数を数えるSQL文についての問題です。まず「部門」表を見ると,フロアが2である部門は,情報システム,経理,法務,購買の4つです。次に「社員」表を見て,これらの部門に所属している社員を数えます。
所属が情報システムの社員は「11005」と「12002」の2人,所属が経理の社員は「11002」の1人です。法務と購買に所属している社員は,社員表の中には見当たりません。したがって,条件に当てはまる社員の合計人数は2+1=3人となり,正解は「ウ」です。
不正解の選択肢は,フロアが2の部門を数え間違えたり,社員と部門の対応関係を正しく確認できていなかったりした場合に出やすい値です。このようなSQL文の結果を求める問題では,まずWHERE句の条件(この場合はフロアが2であること)を満たす部門を特定し,それに該当する社員を数え上げるという手順で確実に解いていくことが大切です。