分数的课程表
『壹』 将学生表、成绩表、课程表三张表中的数据作为基础数据,写出相关SQL语句,谢谢
--查询所有学生的成绩信息(无成绩的学生也需显示)
SELECTSname,Cname,Grade
.Sno=SC.Sno
LEFTJOINCourseONCourse.Cno=SC.Cno
--查询8002课程的平均分、最高分以及课程名称,且平均分保留2位小数
SELECTCAST(AVG(Grade)ASNUMERIC(5,2))平均分,MAX(Grade)最高分,Cname课程名称
FROMCoruseJOINSCONCourse.Cno=SC.Cno
WHERECourse.Cno='8002'
『贰』 数据库多表查询,学生表,课程表,成绩表
直接将三表关联查询就可以了
select b.姓名,c.课程,a.成绩
from 成绩表 a,学生表 b,课程表 c
where a.学生学号 = b.学号 and a.课程编号 = c.编号 and a.成绩 < 60
『叁』 SQL语句的一道题 三个基本表:学生表(Student)、课程表(Course)、学生选课表(SC)
1. select * from SC
2. select Sname,Sage from Student where Sdept = '计算机'
3. select Sno,Cno,Grade from SC where Grade >= 70 and Grade <= 80
4. select Sname,Sage from Student where Sage between 18 and 20 and Ssex = '男'
5. select top 1 Grade from SC where Cno = 'C01'
6. select max(Sage),min(Sage) from Student
7. select Sdept,sum(Sno) from Student group by Sdept
8. select course.Cname,sum(sc.Sno),max(Grade) from SC
join studet on Student.Sno = SC.Sno
join Course on Course.Cno = SC.Cno
group by course.cname,max(grade)
9. select sum(Cno),avg(Grade) from SC
join Course on Course.Cno = SC.Cno
join Student on Student.Sno= SC.Sno
order by SC.Sno
10. select Stuent.Sno,Stuent.Sname,sum(Grade) A from SC
join Student on Student.Sno = SC.Sno
group by sc.Sno,student.Sname
having A > 200
11. select Student.Sname,Student.Sdept from Student
join Course on Course.Cno = SC.Cno
join SC on SC.Sno = Student.Sno
where SC.Cno = 'C02'
12. select Student.sname,course.cno,sc.grade from sc
join student on student.sno = sc.sno
join course on course.cno = sc.cno
where sc.grade >= 80
order by sc.grade desc
13. select cno,cname from
(
select course.cno,course.cname,sun(sno) from student
join course on course.cno = sc.cno
join sc on sc.sno = student.sno
group by cno,cname
having sun(sno) > 0
)
14. ① select student.sname,student.sdept from
(
select student.sname,student.sdept,course.cname from student
join sc on sc.sno = student.sno
join course on course.cno = sc.cno
where course.cname = 'C01'
)
② select student.sno,student.sname from
(
select student.sno,student.sname,student.sdept,sc.grade from sc
join student on student.sno = sc,sno
where student.sdept = '信息' and sc.grade >= 80
)
③ select top 1 student.sname from
(
select student.sname,student.sdept,sum(sc.grade) from sc
join student on student.sno = sc.sno
where student.sdept = '计算机'
group by student.sname,student.sdept
order by
)
15. delete from sc where grade < 50
16. update sc set grade += 5 from sc
join course on course.cno = sc.cn
join student on student.sno = sc.sno
where student.sno =
(
select student.sno from sc
join course on course.cno = sc.cno
where course.cname = 'c01'
)
17. update sc set grade += 10 from sc
join student on student.sno = sc.sno
where student.sno =
(
select student.sno from student
join sc on sc.sno = student.sno
join course on course.cno = sc.cno
where student.sdept = '计算机' and course.cname = '计算机文化基础'
)
18. create view [A] as
select student.sno,student.sname,student.sdept,course.cno,course.cname,sc.grade from sc
join student on student.sno = sc.sno
join course on course.cno = sc.cno
19. create view [A] as
select student.sno,avg(sc.grade) from sc
join student on student.sno = sc.sno
group by student.sno
20. create view [A] as
select student.sno,sum(sc.grade) from sc
join student on student.sno = sc.sno
group by student.sno
21. create index A on student(sname)
22. 不会
『肆』 学生表(学号,姓名)、课程表(课程编号,课程名)、成绩表(自动编号、学号,课程编号,成绩) 查询各个学生学
select A.姓名,
sum(case B.课程名 when '语文' then C.成绩 else 0 end) as 语文,
sum(case B.课程名 when '数学' then C.成绩 else 0 end) as 数学,
sum(case B.课程名 when '英语' then C.成绩 else 0 end) as 英语,
sum(case B.课程名 when '历史' then C.成绩 else 0 end) as 历史,
from 学生表 A left join 成绩表 C on 学生表.学号=成绩表.学号
left join 课程表 B on 成绩表.课程编号=课程表.课程编号
group by A.姓名
刚刚不是在那边回答你了么~~~
『伍』 学生表、成绩表、课程表作为数据基础表,写出如下SQL语句,谢谢
查询所有学生的成绩信息(无成绩的学生也需显示)
SELECT ST.SNO, ST.SNAME, AVG(GRD.GRADE) AS AVG_GRADE FROM STUDENT ST LEFT JOIN GRADE GRD
ON (ST.SNO = GRD.SNO) GROUP BY ST.SNO, ST.NAME
查询8002课程的平均分、最高分以及课程名称,且平均分保留2位小数
SELECT C.CNAME, ROUND(AVG(GRD.GRADE),2) AS AVERAGE_GRADE, ROUND(MAX(GRD.GRADE),2) AS MAX_GRADE FROM COURSE C INNER JOIN GRADE GRD ON (C.CNO = GRD.CNO)
WHERE C.CNO = 8002
『陆』 如何查询成绩以及查看课表
查看云南省昭通市镇雄县塘房镇塘中吉茂骞初二考试成绩
『柒』 学生表、成绩表、课程表中随机插入20条数据
你的问题没描述清楚,你说的随机是不是以下问题:
第一,你说的学生表,成绩表,课程表是不是excel数据表。如果是就是从已做好的表中随机选择20条数据手动输入相应的软件中就可以了。
第二,如果是开发程序,那么就是从这三个表中随机读取20条数据插入到数据库中。
所谓随机插入数据就是不指定要插入哪条,而是随机来选择插入的数据。比如,从编号1至20号的20个球中选出1-5编号的5个球这是指定选择法;从编号1-20号的20个球中随机选择5个球,就是从这20个球中用手随机抓取5个出来,这就是随机法。
『捌』 大家帮助哈,有两个表:一个是成绩表(学号、课程号、成绩),一个是课程表(课程号、课程名、学时、学分)
SELECT*FROM
(selectc.学号,sum(c.学分)sumcfrom
(selects.学号,t.学分from成绩表s,课程表t
wheret.课程名=s.课程名)c
groupbyc.学号)a,
(selectt.学号,count(*)CCfrom成绩表tGROUPBYT.学号)bWHEREA.学号=B.学号
『玖』 SQL 学生表 课程表 分数表 查询问题
select t1.学生id from (select * from 分数 as fs where fs.课程id=10001) as t1
inner join (select * from 分数 as fs where fs.课程id=10002) as t2 on t1.学生id=t2.学生id where t1.分数>t2.分数
有问题可以追问或Hi我。
『拾』 有没有可以查看成绩,查看课程表的软件可以
掌上课表可以,手机APP