当前位置:首页 » 编程语言 » sql根据学生学号返回选课
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql根据学生学号返回选课

发布时间: 2022-03-04 03:24:41

1. 从教学库中查询每个学生的学号、选课门数和平时成绩,写出sql语句

这个应该涉及到三个表吧

select 学生表.学号,count(课程.科目) as 选课门数,成绩表.平时成绩 from 学生表,课程表,成绩表 where 学生表.学号=课程表.学号 and 课程表.课程号=成绩表.课程号

2. sql语句编写存储过程,根据输入的学生学号,返回此学生的最高成绩和最低成绩。

createprocGetStudentScore
@studentIdint
As
selectmax(score)asMaxScore,min(score)=@studentId

3. sql语句,从条件判断这里开始: where 学生成绩.学号=学生选课.学号;

这样的语句应该是有三个表,需要从三个表(tables)里找数据。一个表是“学生成绩”,一个是“学生选课” 另一个是“课程”。 在这两个表里,都有一个项(column/field)叫做:学号。

关于“.": 表.项 是sql语言用来表示特别的项。因为两个表里都有学号,所以要用“学生成绩.学号” 和“学生选课.学号”来表示到底指的是哪一个表里的学号。

关于”=“:因为Where语句后是条件,"=" 是来表示相等条件的。
”where 学生成绩.学号=学生选课.学号;“, 翻译成人类语言就是”当学生成绩里的学号 等于 学生选课里的学号; ”。

希望对你有帮助。

4. SQL:查询每门课程的课程名、选课学生姓名及其学号,选课人数

我的学生数据库跟你的差不多,我就用我的这些表给你做了个

selectc.Cno,s.Sname,s.Sno,选课人数fromCoursec

leftjoinSConc.cno=sc.cno

leftjoinstudentsons.Sno=SC.Sno

leftjoin(selectc.cno,COUNT(s.Sno)选课人数from

CoursecleftjoinSConc.cno=sc.cno

leftjoinstudentsons.Sno=SC.Sno

groupbyc.Cno)asTONT.Cno=c.Cno

5. 用sql语句:将选课在五门以上的学生学号,姓名按平均分降序排序 请问怎么写。。。

SELECT B.StuName,A.StuID
,AVG(Score) AS AvgScore
FROM dbo.Course AS A
LEFT JOIN dbo.Stu_Info AS B
ON A.StuID = B.StuID
GROUP BY StuID
HAVING COUNT(*) > 5
ORDER BY AvgScore DESC

6. 在sql中,怎样的语句得到选课学生的学号。(注意去掉重复的学号)

select distinct 学号 from 选课表

select 学号 from 选课表 group by 学号

7. sql在cj表中按照学号分组,统计选课数大于4的每个学生的学号及选课数,要求按照选课数升序排序。

select 学号, count(课程号)
from cj
group by 学号
having count(课程号) > 4

8. 用SQL语句查询选修课程名称中有数据库课程的学生的学号

select * from 学生表 where 学号 in(select 学号 from 选修课表 where 课程='数据库')

思路大概就是这样

9. sql:查询所有学生的学号、姓名、入学成绩、选课门数和平均分。结果要求显示如下

SQL语句如下:
select student.sno 学号,sname 姓名,sgrade 入学成绩,count(cno)选课门数,avg(grade)平均分
from student,score
where student.sno=score.sno
group by student.sno,sname,sgrade;

其中sno、sname、sgrade、cno、grade分别为:学号、姓名、入学成绩、课程号、成绩。以上SQL语句在Microsoft SQL Server 2005下测试通过。

10. 数据库sql查询同时选修了选修课1和选修课2的学生学号

select Sno from sc where Cno in('课1','课2') group by Sno having count(*)=2