可以使用以下SQL语句查询课程名为数据库管理系统的所有学生的学号、姓名和成绩:
解释:
从S、SC和C三个表中选取需要的列,即学号Sno、姓名Sname和成绩Score。
使用WHERE语句指定查询条件,即S表和SC表的Sno列相等,SC表和C表的Cno列相等,并且C表的Cname列为“数据库管理系统”。
执行查询 *** 作,返回结果集。
select
tsno,sname,avg(grade)
as
平均分,count(cname)
as
选课门数
from
student
t,sc
c,course
e
where
tsno=csno
and
ccno=ecno
and
tsno=
(select
top
1
t1sno
from
student
t1,sc
c1,course
e1
where
t1sno=c1sno
and
c1cno=e1cno
and
e1cname='数据结构'
order
by
c1grade
desc)
group
by
tsno,sname
1
先用子查询
查出课程最高分的同学的学号
2
再根据学号得到平均分agv和选课门数
count
SELECT aS# AS 学号, aSname AS 姓名, cscore AS 物理成绩
FROM Student a, Course b, SC c
WHERE aS# =cS# AND bC# =cC# AND bCname ='物理'
create view view2(sno,savg,sname)
as select StudentSno,Sname,AVG((cast(StudentCourseGrade as int)))
from Student join StudentCourse
on StudentCourseSno=StudentSno
group by StudentSno,StudentSname
即可,反正Sno已经保证唯一了,再加上Sname也无法再干扰什么了。
select 学生成绩表学号,学生姓名
from 学生情况表,学生成绩表
where 成绩<60 and 学生情况表学号=学生成绩表学号
系统不明白 select处的学号是那个表的
简单查询步骤如下:
1、查询计算机系学生的学号和姓名;
2、查询选修了课程的学生学号;
3、查询选修101课程的学生学号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同则按学号的升序排列。
连接查询步骤如下:
1、查询每个学生的情况以及他所选修的课程;
2、查询学生的学号、姓名、选修的课程名及成绩;
3、查询选修101课程且成绩为90分以上的学生学号、姓名及成绩;
4、查询计算机系的所有同学的所有课程的成绩。
以上就是关于查询问题:设教学数据库Education有三个关系:学生关系S(Sno,Sname,Ssex全部的内容,包括:查询问题:设教学数据库Education有三个关系:学生关系S(Sno,Sname,Ssex、在数据库查询中查询各门课程取得最高成绩的学生姓名和成绩、SQL数据库,三个表,查询学生某一门课程的成绩等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)