実体験から始める情報講座

基本情報技術者講座

★ 猫本 6-07 SQL(並べ替え・グループ化)(その1) ★

基本情報技術者 令和元年度秋期 問26

"得点"表から,学生ごとに全科目の点数の平均を算出し,平均が80点以上の学生の学生番号とその平均点を求める。aに入れる適切な字句はどれか。ここで,実線の下線は主キーを表す。

 得点(学生番号科目,点数)


〔SQL文〕

SELECT 学生番号,AVG(点数)

 FROM 得点

 GROUP BY 【 a 】

ア  科目 HAVING AVG(点数) >= 80
イ  科目 WHERE 点数 >= 80
ウ  学生番号 HAVING AVG(点数) >= 80
エ  GROUP BY 学生番号 WHERE 点数 >= 80

解説

GROUP BY(グループ化)に対する条件 → HAVING


学生ごとに~ → 学生ごとにグループ化して,条件を付ける。

よって,ウである。


SELECT 学生番号,AVG(点数)

FROM 得点

学生番号 HAVING AVG(点数) >= 80

解答

基本情報技術者 平成31年春期 問27

"中間テスト"表からクラスごと,教科ごとの平均点を求め,クラス名,教科名の昇順に表示するSQL文中のaに入れる字句はどれか。

 中間テスト(クラス名,教科名,学生番号,名前,点数)


〔SQL文〕

SELECT クラス名,教科名,AVG(点数) AS 平均点

 FROM 中間テスト

 【 a 】

ア  GROUP BY クラス名,教科名 ORDER BY クラス名,AVG(点数)
イ  GROUP BY クラス名,教科名 ORDER BY クラス名,教科名
ウ  GROUP BY クラス名,教科名,学生番号 ORDER BY クラス名,教科名,平均点
エ  GROUP BY クラス名,平均点 ORDER BY クラス名,教科名

解説

GROUP BY(グループ化)に対する条件 → HAVING


クラスごと,教科ごとに~ → クラスごと,教科ごとにグループ化して,条件を付ける。

ORDER BY → 並び替え

よって,イである。


SELECT クラス名教科名,AVG(点数) AS 平均点

 FROM 中間テスト

 GROUP BY クラス名教科名 ORDER BY クラス名,教科名


(参考)

AS 項目名:属性(列)に新たな項目名を付ける。

解答