5.组合查询和统计查询 利用T-SQL语句在JXGL数据库中实现其数据组合查询和统计查询操作: (1)查找选修“计算机基础”课程的学生成绩比此课程的平均成绩高的学生的学号和成绩。 (2)查询选修“计算机基础”课程的学生的平均成绩。 (3)查询年龄大于女同学平均年龄的男同学的姓名和年龄。 (4)列出各系学生的总人数,并按人数进行降序排列。 (5)统计各系各门课程的平均成绩。 (6)查询选修“计算机基础”和“离散数学”的学生的学号和平均成绩。
时间: 2023-06-12 08:02:47 浏览: 166
1.查找选修“计算机基础”课程的学生成绩比此课程的平均成绩高的学生的学号和成绩。
```
SELECT sc.s_id, sc.score
FROM score sc
WHERE sc.c_id = '01' AND sc.score > (SELECT AVG(score) FROM score WHERE c_id = '01')
```
2.查询选修“计算机基础”课程的学生的平均成绩。
```
SELECT AVG(score)
FROM score
WHERE c_id = '01'
```
3.查询年龄大于女同学平均年龄的男同学的姓名和年龄。
```
SELECT s_name, s_age
FROM student
WHERE s_sex = '男' AND s_age > (SELECT AVG(s_age) FROM student WHERE s_sex = '女')
```
4.列出各系学生的总人数,并按人数进行降序排列。
```
SELECT d_name, COUNT(*)
FROM student, department
WHERE student.s_dept = department.d_id
GROUP BY d_name
ORDER BY COUNT(*) DESC
```
5.统计各系各门课程的平均成绩。
```
SELECT d_name, c_name, AVG(score)
FROM score, course, student, department
WHERE score.c_id = course.c_id AND score.s_id = student.s_id AND student.s_dept = department.d_id
GROUP BY d_name, c_name
```
6.查询选修“计算机基础”和“离散数学”的学生的学号和平均成绩。
```
SELECT sc.s_id, AVG(sc.score)
FROM score sc
WHERE sc.c_id IN ('01', '02')
GROUP BY sc.s_id
```