問題
勤務実態を把握するため、部署ごとに4月の平均残業時間を調査することになった。そこで、以下のような SQL 文でデータベースに問い合わせをすることにした。データテーブルは、以下の2つである。 テーブル名:4月の残業時間 従業員 ID 氏名 所属 ID 残業時間 A01002 鈴木英子 101 4 A01079 佐藤浩司 102 10 A02014 高木有一 101 4 A02043 田中真一 103 3 A04081 赤城和郎 102 11 A05047 本田まり 103 2 A05051 藤田二郎 102 12 テーブル名:部署 部署 ID 部署名 101 個人営業部 102 法人営業部 103 経理部 SQL 文 SELECT ① , ② ,AVG(残業時間)FROM ③ , ④ WHERE ③ .所属 ID = ④ .部署 ID GROUP BY ⑤ , ⑥ (設問1) SQL 文の空欄①〜④に入る最も適切なものの組み合わせはどれか。
選択肢
- 1①:4月の残業時間 ②:所属 ID ③:部署 ID ④:部署名
- 2①:4月の残業時間 ②:部署 ID ③:氏名 ④:所属 ID
- 3①:所属 ID ②:部署 ID ③:部署名 ④:従業員 ID
- 4①:部署 ID ②:部署名 ③:4月の残業時間 ④:部署
正解
4. ①:部署 ID ②:部署名 ③:4月の残業時間 ④:部署
詳しい解説を見る解説を閉じる
解説
部署ごとに平均残業時間を集計するため、結果には部署を識別する列(部署 ID・部署名)が必要で、FROM 句では「4月の残業時間」テーブルと「部署」テーブルを結合する。WHERE 句が「③.所属 ID = ④.部署 ID」となっていることから、③=4月の残業時間(所属 ID を持つ側)、④=部署(部署 ID を持つ側)と確定する。SELECT で取り出すのは①=部署 ID、②=部署名。これらを満たすのはエである。 ア・イ・ウは FROM 句に置く表名や WHERE 句の列対応が合わず、結合条件や集計の対象が成立しないため誤り。(出典: 一般社団法人 中小企業診断協会 平成20年度 中小企業診断士1次試験 経営情報システム 第10問 設問1)
中小企業診断士トップ
一問一答・予想問題・まとめノート