跪求一道数据库题答案。
2.有一个[学生课程]数据库,数据库中包括三个表:学生表Student由学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)五个属...
2.有一个[学生课程]数据库,数据库中包括三个表:
学生表Student由学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)五个属性组成,记为:Student(Sno,Sname,Ssex,Sage,Sdept) ,Sno 为关键字。
课程表Course由课程号(Cno)、课程名(Cname)、先修课号(Cpno)、学分(Ccredit)四个属性组成,记为:Course(Cno,Cname,Cpno,Ccredit)Cno为关键字。
成绩表SG由学号(Sno)、课程号(Cno)、成绩(Grade)三个属性组成,记为: SG(Sno,Cno,Grade) (SNO, CNO)为关键字。
用SQL语言实现下列功能:
(1).建立学生表Student,其中学号属性不能为空,并且其值是唯一的。
(2).向Student表增加“入学时间(Scome)”列,其数据类型为日期型。
(3).查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列。
(4).查询学习1号课程的学生最高分数、平均成绩。
(5).查询与“李洋”在同一个系学习的学生。
(6).将计算机系全体学生的成绩置零。
(7).删除学号为05019的学生记录。
(8).删除计算机系所有学生的成绩记录。 展开
学生表Student由学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)五个属性组成,记为:Student(Sno,Sname,Ssex,Sage,Sdept) ,Sno 为关键字。
课程表Course由课程号(Cno)、课程名(Cname)、先修课号(Cpno)、学分(Ccredit)四个属性组成,记为:Course(Cno,Cname,Cpno,Ccredit)Cno为关键字。
成绩表SG由学号(Sno)、课程号(Cno)、成绩(Grade)三个属性组成,记为: SG(Sno,Cno,Grade) (SNO, CNO)为关键字。
用SQL语言实现下列功能:
(1).建立学生表Student,其中学号属性不能为空,并且其值是唯一的。
(2).向Student表增加“入学时间(Scome)”列,其数据类型为日期型。
(3).查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列。
(4).查询学习1号课程的学生最高分数、平均成绩。
(5).查询与“李洋”在同一个系学习的学生。
(6).将计算机系全体学生的成绩置零。
(7).删除学号为05019的学生记录。
(8).删除计算机系所有学生的成绩记录。 展开
1个回答
展开全部
use 教师数据库
go
/*1、创建教师表*/
create table 教师表
(
教师编号 char(6) primary key,
姓名 varchar(10) not null,
性别 varchar(10) not null,
职称 varchar(10),
身份证号 varchar(10) unique nonclustered
)
/*2、创建课程表*/
create table 课程表
(
课号 char(6) primary key,
名称 varchar(20) not null
)
/*3、创建任课表*/
create table 任课表
(
ID int null,
教师编号 char(6) references 教师表(教师编号),
课号 char(6) references 课程表(课号),
课时数 int
)
/*4、将下列课程信息添加到课程表的代码*/
insert 课程表 values ('100001','SQL Server数据库')
insert 课程表 values ('100002','数据结构')
insert 课程表 values ('100003','VB程序设计')
/*5 、查找所有教师的信息。*/
select * from 教师表
/*6、检索有一门或一门以上课程课时数大于90的所有教师的信息,包括编号、姓名。*/
select 教师编号,姓名 from 教师表 where EXISTS (select count(*) from 任课表 where 教师表.教师编号=任课表.教师编号 group by 教师编号 HAVING count(*)>90)
/*7、查找张老师的代课总课数。*/
select count(*) from 任课表 where EXISTS (select * from 教师表 where 教师表.教师编号=任课表.教师编号 and 姓名='张老师')
请采纳答案,支持我一下。
go
/*1、创建教师表*/
create table 教师表
(
教师编号 char(6) primary key,
姓名 varchar(10) not null,
性别 varchar(10) not null,
职称 varchar(10),
身份证号 varchar(10) unique nonclustered
)
/*2、创建课程表*/
create table 课程表
(
课号 char(6) primary key,
名称 varchar(20) not null
)
/*3、创建任课表*/
create table 任课表
(
ID int null,
教师编号 char(6) references 教师表(教师编号),
课号 char(6) references 课程表(课号),
课时数 int
)
/*4、将下列课程信息添加到课程表的代码*/
insert 课程表 values ('100001','SQL Server数据库')
insert 课程表 values ('100002','数据结构')
insert 课程表 values ('100003','VB程序设计')
/*5 、查找所有教师的信息。*/
select * from 教师表
/*6、检索有一门或一门以上课程课时数大于90的所有教师的信息,包括编号、姓名。*/
select 教师编号,姓名 from 教师表 where EXISTS (select count(*) from 任课表 where 教师表.教师编号=任课表.教师编号 group by 教师编号 HAVING count(*)>90)
/*7、查找张老师的代课总课数。*/
select count(*) from 任课表 where EXISTS (select * from 教师表 where 教师表.教师编号=任课表.教师编号 and 姓名='张老师')
请采纳答案,支持我一下。
追问
大哥,你别逗我啊。我很急的!!!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询