查询班级名称是信息管理,总成绩大于450分的所有学生的姓名,要求按学号倒序排列
时间: 2024-04-12 20:31:55 浏览: 84
您可以使用以下 SQL 查询来获取班级名称为"信息管理"且总成绩大于450分的所有学生的姓名,并按学号倒序排列:
```sql
SELECT students.sname
FROM students
JOIN (
SELECT sid, SUM(score) AS total_score
FROM scores
GROUP BY sid
HAVING total_score > 450
) AS subquery ON students.sid = subquery.sid
JOIN classes ON students.cid = classes.cid
WHERE classes.cname = '信息管理'
ORDER BY students.sid DESC;
```
请确保将 "students"、"scores" 和 "classes" 替换为您实际使用的表名,并根据需要修改班级名称和总成绩条件。这个查询使用了子查询来计算每个学生的总成绩,并筛选出总成绩大于450分的学生。然后,通过连接学生表和班级表,获取班级名称为"信息管理"的学生的姓名,并按学号倒序排列。
相关问题
5)查询班级名称是信息管理,总成绩大于450分的所有学生的姓名,要求按学号倒序排列(8分) select sname,count(score) from stu sti INNER JOIN sc sci on sti.sno=sci.sno INNER JOIN cls cli on sti.classno=cli.classno group by count(score)>450 order by son desc;
您的查询存在一些语法错误和逻辑错误。以下是修正后的查询:
```sql
SELECT sname
FROM stu
INNER JOIN sc ON stu.sno = sc.sno
INNER JOIN cls ON stu.classno = cls.classno
WHERE cls.cname = '信息管理'
GROUP BY sname
HAVING SUM(score) > 450
ORDER BY sno DESC;
```
请确保将 "stu"、"sc" 和 "cls" 替换为您实际使用的表名,并根据需要修改班级名称和总成绩条件。这个查询使用了内连接操作,通过学生表、成绩表和班级表进行关联,然后筛选出班级名称为'信息管理'且总成绩大于450分的学生的姓名,并按学号倒序排列。同时,使用了 SUM 聚合函数来计算总成绩。
阅读全文