問題プレビューID: 24ff49dc

問 29

"社員" 表と "部門" 表に対して、次の SQL 文を実行したときの結果はどれか。

SELECT COUNT(*) FROM 社員, 部門
    WHERE 社員.所属 = 部門.部門名 AND 部門.フロア = 2

社員

社員番号所属
11001総務
11002経理
11003営業
11004営業
11005情報システム
11006営業
11007企画
12001営業
12002情報システム

部門

部門名フロア
企画1
総務1
情報システム2
営業3
経理2
法務2
購買2
解説

部門.フロア = 2 である部門は、情報システム、経理、法務、購買である。このうち社員表の所属に存在するのは情報システムと経理である。

  • 情報システム: 社員番号 11005、12002 の 2 行
  • 経理: 社員番号 11002 の 1 行

よって結合後の行数は 2+1=32 + 1 = 3 となり、COUNT(*) の結果は 3 である。したがって、正解は「ウ」である。