sql server 数据库题目

来源:互联网 发布:excel数据分类统计分析 编辑:程序博客网 时间:2024/06/01 09:34

题目2:显示考试安排有冲突的考生及考试课程和时间
所谓有冲突,就是指一个考生同一时间(或考试时间有交集)安排了两门及两门以上的考试
表1:课程表 TC
cid  课程id
cname  课程名
Ctype  考试方式
表2:考试表TE
eId  考试id
cid  课程id
beginTime  开始时间
endTime  结束时间
表3:考试安排表TSE
studentId  学生id
examId  考试id

 

显示各门课程的考场数目和可容纳的考生
各数据表结构如下:
表1:课程表 TC
cid  课程id
cname  课程名
Ctype  考试方式
表2:考场表 TR
Roomed  考场id
address  考场地址
Contain  容纳人数
表3:考场课程对应表 TCR
cid  课程id
roomId  考场id

 

select tc.cname,t.roomid,count(*) 考场数目,sum(cast(tr.Contain as int)) 人数  from tcr t,tr,tc where t.roomid=tr.Roomed and tc.cid=t.cid group by t.cid,t.roomid,tc.cname

 

 

有3张表,分别为

    student学生表: sid(学号,number),sname(姓名,varchar2);

    class课程表:cid(课程号,number),cname(课程名称,varchar2);

    score成绩表: sid,cid,score(成绩,number),remark(备注,varchar2)。

请写出SQL语句:

    A、查询成绩大于90分的学生姓名及课程名称;

    B、将成绩表中成绩介于70-80的记录的remark字段更新为“良”;

    C、将成绩表中sid未曾在student或cid未曾在class表出现过的记录删除;

 

设tb表如下:
name subject grade
mike math 79
lee chinese 81
lee math 78
tom chinese 85
tom math 81
tom english 88
。。。。

查询所有科目分数都在80分(含)以上的学生姓名

方法1:
select distinct name
from stumessage  k
where not exists(select name from stumessage where k.name=name group by name having min(grade)<=80)
方法2:
select [name] from stumessage  group by [name] having min(grade)>80

 

原创粉丝点击