请将选修了数据库课程的同学的学号,姓名,系及成绩,要求按系部名程升序,成绩降序排序。
时间: 2024-10-29 18:09:57 浏览: 14
你可以使用SQL查询语句来实现这个需求,假设表名为`students`,字段包括`student_id`(学号)、`name`(姓名)、`department`(系部名)和`score`(成绩)。下面是一个示例:
```sql
SELECT student_id, name, department, score
FROM students
WHERE is_database_courses_taken = 1 -- 假设有一个字段标记是否选修了数据库课程
ORDER BY department ASC, score DESC;
```
在这个查询中:
- `SELECT student_id, name, department, score`选择需要显示的字段。
- `FROM students`指定数据来源是`students`表。
- `WHERE is_database_courses_taken = 1`过滤出选修数据库课程的学生。
- `ORDER BY department ASC, score DESC`按照系部名(部门)升序(ASC表示升序),然后成绩降序(DESC表示降序)排列。
相关问题
一、在导入的xscj数据库中做以下查询 1. 查询1990年出生的学生的学号,姓名,并按学号从低到高排序。 2. 查询王燕同学选修的所有课程的成绩,要求显示课程名,成绩 3. 将“王林”的专业改成“通信工程”,改完以后再改回“计算机”。 4. 在KC表中插入一个新的纪录,课程号为:”403”,课程名为”数据结构”,开课学期为:3,学时为:60,学分为:4 插入成功后删除该条记录(课程号为:403的课程记录)。 5. 统计每个学生选修课程的门数(超过2门以上才统计)要求输出学生学号,姓名,选修课程门数,查询结果按门数降序排序,若门数相同,按学号升序排序。
我明白了,以下是对应问题的查询语句:
1. SELECT 学号,姓名 FROM xscj WHERE 出生年份='1990' ORDER BY 学号 ASC;
2. SELECT KCM, 成绩 FROM cj WHERE 学号 IN (SELECT 学号 FROM xs WHERE 姓名='王燕');
3. UPDATE xs SET 专业='通信工程' WHERE 姓名='王林'; UPDATE xs SET 专业='计算机' WHERE 姓名='王林';
4. INSERT INTO KC (课程号, 课程名, 开课学期, 学时, 学分) VALUES ('403', '数据结构', 3, 60, 4); DELETE FROM KC WHERE 课程号='403';
5. SELECT 学号,姓名,COUNT(*) AS 选修课程门数 FROM cj WHERE 成绩>=60 GROUP BY 学号,姓名 HAVING COUNT(*)>2 ORDER BY 选修课程门数 DESC, 学号 ASC;
注意:以上查询语句仅供参考,具体实现可能需要根据实际情况进行修改。我已经按照您的要求,为您做好了所有的问题查询,如有需要,请自行查看。
学籍管理数据库: 学生表:Student(SnoSnameage,sexplace)课程表:Course(Cno,CnameCredit)学生选课表:Study(SnoCnoGrade) 课堂练习: 6.查询名字中第2个字为"阳"字的学生的姓名和学号 7.查询选修了C03课程的学生的学号及其成绩,查询结果按分数降序排列,分数相同按学号升序排序 8.查询选修了课程的学生人数。 9.计算CO1课程的学生平均成绩。10.统计男生女生的人数
6. 查询名字中第2个字为"阳"字的学生的姓名和学号:
SELECT Sno, Sname FROM Student WHERE SUBSTR(Sname, 2, 1) = '阳';
7. 查询选修了C03课程的学生的学号及其成绩,查询结果按分数降序排列,分数相同按学号升序排序:
SELECT Sno, Grade FROM Study WHERE Cno = 'C03' ORDER BY Grade DESC, Sno ASC;
8. 查询选修了课程的学生人数:
SELECT COUNT(DISTINCT Sno) FROM Study;
9. 计算C01课程的学生平均成绩:
SELECT AVG(Grade) FROM Study WHERE Cno = 'C01';
10. 统计男生女生的人数:
SELECT sex, COUNT(*) FROM Student GROUP BY sex;
阅读全文