データベース
平成28年度 秋期 基本情報技術者試験 午前 問29
“社員”表と“部門”表に対して,次の 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
出典:平成28年度 秋期 基本情報技術者試験 午前 問29
答えと解説を見る
正解:ウ
覚える知識
SQLの内部結合の結果判定
WHERE句の結合条件で等しい行同士を組み合わせた結果行数を数える。
この問題で必要なこと
フロア2は情報システム・経理・法務・購買。社員は経理1名と情報システム2名で3行。
ひっかけ
部門数(4)や社員数、フロア2の部門数をそのまま数えさせる。
この知識の出題:本試験系 3 回・免除試験 12 回(公開問題での観測値)