オリジナル模擬試験2 問31

問31

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

SELECT COUNT(*) FROM 社員,部門
  WHERE 社員.所属 = 部門.部門名 AND 部門.フロア = 2
31.gif/image-size:322×235
  • 1
  • 2
  • 3
  • 4
  • [出典]
  • ソフトウェア開発技術者 H17春期 問66

分類

テクノロジ系 » データベース » データ操作

正解

解説

まずWHERE句にあるように、社員表と部門表を所属列と部門名列をキー列として結合します。結合処理を行うとフロア列が追加された次のような中間表になります。
31_1.gif/image-size:210×233
そして結合された表中でフロア列の値が"2"である行(部門.フロア=2)の数を、COUNT(*)で集計しています。下表で示すようにフロア列の値が"2"の行は3行あるので、SQL文を実行した結果は 3 になります。
31_2.gif/image-size:386×233
© 2010-2024 応用情報技術者試験ドットコム All Rights Reserved.

Pagetop