データベース
基本情報技術者試験 科目A免除 修了試験 20231210 実施分 問20
“社員” 表と “部門” 表に対して,次の 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
出典:基本情報技術者試験 科目A免除 修了試験 20231210 実施分 問20
答えと解説を見る
正解:ウ
覚える知識
SQLの内部結合の結果判定
結合条件と絞込み条件を満たす行の組合せ数をCOUNT(*)で数える。
この問題で必要なこと
フロア2の部門は情報システム・経理・法務・購買。社員表のうち所属が経理(1件)と情報システム(2件)で3件一致する。
ひっかけ
部門表のフロア2の件数(4)など、結合前の行数を数えさせる。
この知識の出題:本試験系 3 回・免除試験 12 回(公開問題での観測値)