本文へスキップ

技術士試験(情報工学部門)・情報技術者試験。ファーストマクロ。


Since 2016.4.19

平成17年度 技術士第一次試験問題【専門科目】

W−30

「会員表」と「成績表」の2つの表があり、それぞれの関係スキーマは次のように与えられている。

 会員表 (会員ID, 会員名, 会員出身ID, 会員出身名)
 成績表 (会員ID, 日時, スコア)

次のSQL文で、誤っているものを選べ。

@ SELECT 会員表.会員ID, 会員表.会員出身名, 成績表.日時
   FROM 会員表, 成績表
   WHERE 会員表.会員ID='1H001' AND
     会員表.会員ID=成績表.会員ID;

A SELECT 会員表.会員出身名, COUNT(成績表.会員ID)
    FROM 会員表, 成績表
   WHERE 会員表.会員ID=成績表.会員ID
     GROUP BY 会員表.会員出身ID;

B SELECT 会員表.会員ID, 会員表.会員名,
     成績表.スコア, 成績表.日時
   FROM 会員表, 成績表
   WHERE 会員表.会員ID=成績表.会員ID;

C SELECT 会員表.会員ID, AVG(成績表.スコア)
   FROM 会員表, 成績表
   WHERE 会員表.会員ID=成績表.会員ID
     GROUP BY 会員表.会員ID;
     HAVING AVG (成績表.スコア)>17;

D SELECT M1.会員ID, M1.会員名, M2.会員ID, M2.会員名
   FROM 会員表 AS M1, 会員表 AS M2
   WHERE M1.会員ID>M2.会員ID;


正解

A


解説

A GROUP BY 会員表.会員出身ID とした場合、COUNT関数で数えられるのは、会員表.会員出身ID である。

W−29 目次 W−31