「会員表」と「成績表」の2つの表があり、それぞれの関係スキーマは次のように与えられている。
会員表 (会員ID, 会員名, 会員出身ID, 会員出身名)
成績表 (会員ID, 日時, スコア)
次のSQL文で、誤っているものを選べ。
① SELECT 会員表.会員ID, 会員表.会員出身名, 成績表.日時
FROM 会員表, 成績表
WHERE 会員表.会員ID='1H001' AND
会員表.会員ID=成績表.会員ID;
② SELECT 会員表.会員出身名, COUNT(成績表.会員ID)
FROM 会員表, 成績表
WHERE 会員表.会員ID=成績表.会員ID
GROUP BY 会員表.会員出身ID;
③ SELECT 会員表.会員ID, 会員表.会員名,
成績表.スコア, 成績表.日時
FROM 会員表, 成績表
WHERE 会員表.会員ID=成績表.会員ID;
④ SELECT 会員表.会員ID, AVG(成績表.スコア)
FROM 会員表, 成績表
WHERE 会員表.会員ID=成績表.会員ID
GROUP BY 会員表.会員ID;
HAVING AVG (成績表.スコア)>17;
⑤ SELECT M1.会員ID, M1.会員名, M2.会員ID, M2.会員名
FROM 会員表 AS M1, 会員表 AS M2
WHERE M1.会員ID>M2.会員ID;
②
② GROUP BY 会員表.会員出身ID とした場合、COUNT関数で数えられるのは、会員表.会員出身ID である。
Ⅳ-29 | 目次 | Ⅳ-31 |