未分類
春期
データベーススペシャリスト 2015年 春期 問11
11 / 25
庭に訪れた野鳥の数を記録する “観測”表がある。観測のたびに通番を振り、鳥名 と観測数を記録している。AVG 関数を用いて鳥名別に野鳥の観測数の平均値を得るた めに、一度でも訪れた野については、観測されなかったときの観測数を 0とするデ ータを明示的に挿入する。SQL文のaに入る字句はどれか。ここで、通番は初回を1 として、観測のタイミングごとにカウントアップされる。 CREATE TABLE 観測( 通番 INTEGER, 鳥名 CHAR(20)」 観測数 INTEGER, PRIMARY KEY(通番,鳥名)) INSERT INTO 観測 SELECT DISTINCT obs1.通番」obs2.鳥名」◎ FROM 観測 AS obs1,観測 AS obs2 WHERE NOT EXISTS ( SELECT*FROM 観測 AS obs3 WHERE a AND obs2.鳥名= obs3.鳥名)

正解と解説
表示する
正解 ウ
obs1.通番 = obs3.通番
AVG関数はNULLを平均計算から除外するため、観測されなかった鳥に0を明示挿入する必要があります。obs1(全通番)とobs2(全鳥名)を組み合わせ、その通番・鳥名の観測が存在しない(NOT EXISTS)組を0として挿入します。相関副問合せの結合条件はobs1.通番=obs3.通番(同一通番でその鳥の記録がない)が正しくなります。