1, 查询既不是信息系,数学系,也不是计算机系的学生的姓名和性别
select sname,ssex
from student
where sdept<>'IS' and sdept<>'MA' and sdept<>'cs'
2, 查询所有姓张学生的姓名,学号性别,,
select sname,ssex
from student
where sname like '张%'
求计算机系学生人数
select count(sno)as 计科人数
from student
where sdept='IS'
3, 查询每门课的选课人数及平均成绩,
select b1.cname,人数,平均成绩
from (select b.cname,count(sno) 人数
from (select cname,sno
from sc,course
where sc.cno=course.cno)as b
group by b.cname)as b1,
(select b.cname,avg(grade) 平均成绩
from (select cname,grade
from sc,course
where sc.cno=course.cno)as b
group by b.cname)as b2
where b1.cname=b2.cname
4, 查询有两门课以上不及格的学生学号及不及格的课程门数,
select b.sno,count(cno) 不及格门数
from (select *
from sc
where grade <60)as b
group by b.sno
having count(cno)>2
5, 查询每个系的学生人数,并按人数的降序排列,
select sdept,count(sno)人数
from student
group by sdept
order by 人数 desc
6, 查询每门课的平均分,最高分,最低分,
select c.cname,平均分,最高分,最低分
from (select b.cname,avg(grade) 平均分
from (select cname,grade
from sc,course
where sc.cno=course.cno)as b
group by b.cname)as c,
(select b.cname,max(grade) 最高分
from (select cname,grade
from sc,course
where sc.cno=course.cno)as b
group by b.cname)as c1,
(select b.cname,min(grade) 最低分
from (select cname,grade
from sc,course
where sc.cno=course.cno)as b
group by b.cname)as c2
where c.cname=c1.cname and c1.cname=c2.cname
7, 分分课程统计成绩在85分以上的学生人数,
select cname,count(sno) 人数
from (select sno,cname
from sc,course
where sc.cno=course.cno and grade>85)as b
group by cname
8, 列出课程编号和学生人数,
select cno,count(sno) 人数
from sc
group by cno
9, 列出列出平均成绩在85分以上的跃升,姓名,
select b.sname
from (select sname,cno,grade
from student s,sc
where s.sno=sc.sno )as b
group by sname
having avg(grade)>85
10, 列出计算机系选修了编号为C1号课程的学生姓名, 只需要查询过程,不需要结果
select sname
from student s,course c,sc
where s.sno=sc.sno and c.cno=sc.cno and c.cno='c1' and sdept='is'
全部都是自己手写,呵呵,我也是刚学数据库,还好会做,花了一些时间呢,希望楼主看的懂
都运行通过了,不懂可以找我,邮箱wanglaing0027@163.com
表结构:学生表stu(sno,sname,sex,deptno) 课程表 c(cno,cname,grade)
成绩表 sc(sno,cno,score)
系表dept(deptno,deptname)
--查询既不是信息系,数学系,也不是计算机系的学生的姓名和性别
select sname,sex
from stu,dept
where stu.deptno=dept.deptno and deptname<>'信息系' and deptname<>'数学系' and deptname <>'计算机系'
--查询所有姓张学生的姓名,学号性别
select sname,sex
from stu
where sname like '张%'
--求计算机系学生人数
select count(*)
from stu,dept
where stu.deptno=dept.deptno and dept.detpname='计算机系'
--查询每门课的选课人数及平均成绩
select count(*) ,avg(score)
from sc
group by cno
--查询有两门课以上不及格的学生学号及不及格的课程门数
select temp1.sno,count(*)
from
(select sno,cno,score from sc where score<60) as temp1
group by temp1.sno
having count(*)>=2 --包括2门
--查询每个系的学生人数,并按人数的降序排列
select temp1.deptno,temp1.stunum
from
(
select deptno,count(*) as stunum
from stu
group by deptno
) temp1
order by temp1.stunum desc
--查询每门课的平均分,最高分,最低分
select avg(score),max(score),min(score)
from sc
group by cno
--分课程统计成绩在85分以上的学生人数,列出课程编号和学生人数
select cno,count(*)
from sc
group by cno
having score>=85
--列出列出平均成绩在85分以上的跃升,姓名
这项题目没看清楚,就不写了。
--列出计算机系选修了编号为c 01号课程的学生姓名
select sname
from stu,dept,sc
where
stu.deptno=dept.deptno and sc.sno=stu.sno and sc.cno='c01'
1、select 姓名,性别 from student where 系别 not in('信息系','数学系','计算机系')
2、select 姓名,学号,性别 from student where 姓名 like '张%'
3、select count(*) from student where 系别='计算机系'
4、select count(*) as 选课人数,avg(score) as 平均成绩 from 成绩 group by 课程编号
5、select count(*) as 课程数,课程编号,学生编号 from 成绩 where score<60 group by 学生编号,课程 having 课程数>2
6、select count(*) as 人数,系别 from student group by 系别
7、select avg(score) as ascore,max(score) as hscore,min(score) as lscore, 课程编号 from 成绩 group by 课程编号
8、select count(*) 人数, 课程编号 from 成绩 where score=85 group by 课程编号
9、select avg(score) as avg, 学生编号 from 成绩 group by 学生编号 having avg>=85
10、select t1.学生编号,t2.姓名 from 课程 t1,student t2 where t1.系别编号=计算机系编号 and t1.课程编号='c01' and t1.学生编号=t2.学生编号
查询既不是信息系,数学系,也不是计算机系的学生的姓名和性别
select 姓名,性别 from 学生表 where 系别 not in (信息系,数学系,计算机系)
查询所有姓张学生的姓名,学号性别
select 姓名,学号,性别 from 学生表 where 姓名 like 张%
求计算机系学生人数
select cont(id) from 学生表 where 系别=计算机系
。。。。。
你的问题太多了,哎。。还是好好学习一下吧,只知道答案,不知道怎么写,你的水平是不会进步的,还是先研究一下基础再学吧,你这些语句都不是太难的
查询既不是信息系,数学系,也不是计算机系的学生的姓名和性别,
1、select 姓名,性别 from 表 where 系名 not in (信息系,数学系,计算机系)
查询所有姓张学生的姓名,学号性别
2、select 姓名,性别 from 表 where 姓名 like '张%'
3、查询每门课的选课人数及平均成绩,
select 课程号,count(*),avg(成绩) from 课程表 group by 课程号
你最好是把表直接的关系以及表结构给出,不然的话,我们写出的语句你也用不上。