本题目要求编写SQL语句,查询显示已修数据库的同学的学号、姓名及期末成绩。 现有教务管理系统的关系描述如下: 每个院系(部门)有多个班级和多名教师,每名教师各自开设有多门课程。 每位教师管理多个班级(班主任),每个班级只能被一位老师管理。 每名学生属于一个班级,可以选修多门课程。 每门课程可被多位老师讲授,并且有些课程具有先导课程,每门课程的成绩由平时成绩、期中成绩、期末成绩组成,最终计算总评成绩。 课程信息表供教师和学生查询,包含课程信息、任课教师、上课班级、上课教室、上课日期(周几)、上课时间(第几节课)、上课学期学年等信息。 1.学生表:student 表结构 student-1.png 表数据 student-2.png 2.课程表:course 表结构 course-1.png 表数据 course-2.png 3.选课表:sc 表结构 sc-1.png 表数据 sc-2.png 4.班级表:grade 表结构 grade-1.png 表数据 grade-2.png 5.院系(部门)表:dept 表结构 dept-1.png 表数据 dept-2.png 6.教师表:teacher 表结构 teacher-1.png 表数据 teacher-2.png 7.课程信息表:information 表结构 information-1.png 表数据 information-2.png ===>样例输出: 57.png
时间: 2023-06-05 21:04:39 浏览: 159
抱歉,我可以回答这个问题。以下是查询已修数据库课程的学生学号、姓名和期末成绩的SQL语句:
SELECT s.sid, s.sname, sc.score
FROM student s, sc, course c
WHERE s.sid = sc.sid AND sc.cno = c.cno
AND c.cname = '数据库'
相关问题
显示期末成绩不及格的同学的学号、课程号与期末成绩本题目要求编写SQL语句,查询显示期末成绩不及格的同学的学号、课程号与期末成绩。 现有教务管理系统的关系描述如下: 每个院系(部门)有多个班级和多名教师,每名教师各自开设有多门课程。 每位教师管理多个班级(班主任),每个班级只能被一位老师管理。 每名学生属于一个班级,可以选修多门课程。 每门课程可被多位老师讲授,并且有些课程具有先导课程,每门课程的成绩由平时成绩、期中成绩、期末成绩组成,最终计算总评成绩。 课程信息表供教师和学生查询,包含课程信息、任课教师、上课班级、上课教室、上课日期(周几)、上课时间(第几节课)、上课学期学年等信息。
假设需要查询的表名为`score`,包含字段为`student_id`(学生编号)、`course_id`(课程编号)、`term_score`(期末成绩)。则可以使用以下SQL语句进行查询:
```
SELECT student_id, course_id, term_score
FROM score
WHERE term_score < 60;
```
该语句会查询`score`表中期末成绩小于60的记录,并返回这些记录中的学生编号、课程编号和期末成绩。
查询“数据库原理”课程期末成绩高于该课程平均成绩的学生学号、姓名和期末成绩(使用子查询)
可以使用以下SQL语句查询“数据库原理”课程期末成绩高于该课程平均成绩的学生学号、姓名和期末成绩:
```
SELECT 学号, 姓名, 期末成绩
FROM 学生成绩
WHERE 课程名称 = '数据库原理' AND 期末成绩 > (SELECT AVG(期末成绩) FROM 学生成绩 WHERE 课程名称 = '数据库原理')
```
该语句中,首先在学生成绩表中筛选出课程名称为“数据库原理”的记录,然后使用子查询计算该课程的平均成绩,并将其作为条件筛选出期末成绩高于平均成绩的学生信息。