オリジナル模擬試験1 問40

問40

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

SELECT COUNT(*) FROM 社員,部門
  WHERE 社員.所属=部門.部門名 AND 部門.フロア=2
40.gif/image-size:345×253

分類

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

正解

解説

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

Pagetop