平成28年度 秋期 午前 問29
データベース
次のSQL文を実行したときの結果
“社員”表と“部門”表に対して,次の SQL 文を実行したときの結果はどれか。
SELECT COUNT(*) FROM 社員, 部門
WHERE 社員.所属 = 部門.部門名 AND 部門.フロア = 2
社員(原典は表):
| 社員番号 | 所属 |
|---|---|
| 11001 | 総務 |
| 11002 | 経理 |
| 11003 | 営業 |
| 11004 | 営業 |
| 11005 | 情報システム |
| 11006 | 営業 |
| 11007 | 企画 |
| 12001 | 営業 |
| 12002 | 情報システム |
部門(原典は表):
| 部門名 | フロア |
|---|---|
| 企画 | 1 |
| 総務 | 1 |
| 情報システム | 2 |
| 営業 | 3 |
| 経理 | 2 |
| 法務 | 2 |
| 購買 | 2 |
- ア1
- イ2
- ウ3
- エ4
答えと解説を見る
✓ これが正解ウ3
解説
フロアが2の部署に所属する社員は3人です。
このSQL文は、二つの表を総当たりで組み合わせたうえで、条件を同時に満たす行だけを数えています。条件は、社員の所属が部門名と一致していることと、その部門のフロアが2であることの二つです。順に絞っていきます。まず部門の側でフロアが2の行を探すと、情報システム、経理、法務、購買の四つが見つかりました。次に社員の側を見て、所属がこの四つのいずれかになっている人を数えます。経理が1人、情報システムが2人で、法務と購買には所属する人がいませんでした。合わせて3行が残るので、この文は3を返します。ここで気をつけたいのは、数えているのが部署の数ではなく、条件に合った行の数だという点です。同じ部署に複数の人が属していれば、その人数だけ行ができます。逆に、条件に合う部署でも所属する人がいなければ、行は一つも生まれません。残る三つのうち二つは、行ではなく部署の側を数えたときの数でした。もう一つは、この二つの表を突き合わせても出てきません。
ほかの選択肢はなぜ違うのか
- ア1:この値は、二つの表を突き合わせた結果からは導けませんでした。条件に合う行を数えると3、フロアが2の部署を数えると4、そのうち人が所属している部署を数えると2で、いずれもこの数には届きません。
- イ2:フロアが2の部署のうち、実際に人が所属しているのは情報システムと経理の二つです。その部署の数を数えるとこの値になります。ただし数えられるのは条件に合った行なので、同じ部署に2人いれば2行と数えられました。
- エ4:フロアが2の部署は情報システム、経理、法務、購買の四つあり、その数を数えるとこの値になります。ただし法務と購買には所属する人がいないため、突き合わせても行が生まれず、数の中には入りませんでした。
この問題の用語
- 部門組織の中で、仕事の種類や担当ごとに分けられたまとまりです。専門ごとに分ける分け方と、製品や地域ごとに分ける分け方があります。
- 情報システム業務に必要なデータを集め、処理し、伝えるための仕組み全体です。コンピュータや通信網だけでなく、それを使う人や業務の手順も含みます。
- 企画何のために作るのかを決め、進める形をまとめる最初の段階です。ここで業務の進め方そのものを見直すと、大きな改善につながります。
出典:平成28年度 秋期 基本情報技術者試験 午前 問29
同じ用語が出る問題
- 令和8年度 科目A 問15:システム監査人の行為(部門)
- 令和8年度 科目B 問6:ログ管理に関する問題(部門)
- 平成30年度 秋期 午前 問65:要件定義プロセスで実施すべきもの(企画)
- 平成30年度 春期 午前 問42:セキュリティバイデザインの説明(企画)
- 平成29年度 春期 午前 問66(企画)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)