sqlserver测试题及答案(2)

2019-08-31 12:22

D model

19、检索序列号(Prono)为空的所有记录( )。

A、 select * from Tab_ProInfor where Prono = ??; B、 select * from Tab_ProInfor where Prono = 0; C、 select * from Tab_ProInfor where Prono is null; D、select * from Tab_ProInfor where Prono = ?0?

20 charindex(?hy?,?huayuguoji?)返回的结果为 A 0 B 1 C 4 D -1

二 sql语句测试提交sql语句

、学校图书馆借书信息管理系统建立三个表: 学生信息表:student

字段名称 stuID stuName major 图书表:book

字段名称 BID title author 借书信息表:borrow

字段名称 borrowID stuID BID char(10) char(10) char(10) 数据类型 说明 借书编号,主键 学生编号,外键 图书编号,外键 char(10) char(50) char(20) 数据类型 说明 图书编号,主键 书名 作者 char(10) Varchar(10) Varchar(50) 数据类型 说明 学生编号,主键 学生名称 专业 T_time B_time datetime datetime 借书日期 还书日期 完成以下题目 (利用企业管理器 创建数据库 数据表 增加约束 该步骤略)

1) 利用sql语句录入测试数据 测试数据见下图(为节省时间只提交每个表录入数据的

第一条sql语句 即本题共需要提交三条sql语句) (该题6分) Book表

Borrow表

Student表

2) 查询“计算机”专业学生在“2007-12-15”至“2008-1-8”时间段内借书的学生编号、

学生名称、图书编号、图书名称、借出日期;参考查询结果如下图所示:(该题6分)

select st.stuid,stuname,bk.bid,title,t_time from student st,book bk,borrow br where st.stuid=br.stuid and br.bid=bk.bid

and t_time>='2007-12-15' and t_time<='2008-1-8' and major='计算机'

3) 查询所有借过图书的学生编号、学生名称、专业;参考查询结果如下图所示:(该

题6分)

select stuid,stuname,major from student where stuid in (select stuid from borrow)

4) 查询借过作者为“安意如”的图书的学生姓名、图书名称、借出日期、归还日期;

参考查询结果如下图所示:(该题6分)

select stuname,title,t_time,b_time from book bk,student st,borrow br where st.stuid=br.stuid and br.bid=bk.bid and author='安意如'

5) 查询目前借书但未归还图书的学生名称及未还图书数量;参考查询结果如下图所

示:(该题6分)

select stuname, count(*) from student st,borrow br where st.stuid=br.stuid and b_time is null group by st.stuid,stuname

6) 利用sql语句删除已经还书的的信息(该题5分)

delete from borrow where B_time is not null

7) 利用sql语句把五月的专业更改为”数学应用” (该题5分)

update student set major='数学应用' where stuname='五月'

三sql语句测试

根据以下对表的描述要求完成SQL语句:

选课表(Register)

C_ID

S_ID

T_ID

R_Date

R_score

部门表(depD_ID

列名 R_ID D_N

类型 varchar varchar Varchar varchar datetime numeric(5,2) varchar var

意义 选课编课程编学生编教师编选课时成绩

学生表(Student)

T_Mail S_ID

S_Name varchar

部门编部门号

教师表(Teacher)

T_Name D_ID

课程

列名 T_ID S_Mail C_I

类型 varchar varchar Varchar varchar varchar varchar var学生邮课箱

意义 教师编教师姓部门号 教师邮学生编学生姓名

1、

根据上面表的定义,写出创建教师(teacher)和部门表(dept)

的SQL语句,要求:TID定义为主键,DID定义为外键。

Create table dept (

did varchar(15) primary key, Dname varchar(15) )

Create table teacher

(tid varchar(15) primary key, tname varchar(15),

did varchar(15) references dept(did), ,tmail varchar(15) )

2、 向选课表添加一行数据:

选课编号 课程编号 学生编号 教师编号 选课时间 成绩 HYR0001 HYC001 HYS001 HYT001 2008/6/12 76 Insert into Register Values(‘HYR0001’,’HYC001’,’HYS001’,’HYT001’,’2008/6/12’,76)

3、 4、

把所有HYD01部门的老师的邮箱添加前缀“Mailto”。 列出所有教师的姓名和部门名

Update teacher set tmail=?Mailto?+tmail where did=?HYD01?

Select t.tname,d.dname from Teacher t join dept d On t.did=d.did

5、 列出每个学生的姓名和其平均成绩

Select s.sname,avg(r.rscore) From student s join register r On s.sid=r.sid Group by s.sname

6、 列出没有带课的老师的名字

Select tname from teacher Where tid not in

(select tid from register)

7、 列出教学成绩最好(老师的各科总平均成绩高)的老师的名字

Select tname from teacher

Where tid = (Select top 1 tid from register group by tid order by avg(R_score) desc)

8、 列出所有学生姓名,授课教师姓名,课程名称,选课时间,成

绩,并包含没有参加选课的学生姓名。

Select s.sname,t.tname,c.cname,r.rdate,r.rscore From register r

Join teacher t on t.tid=r.tid Join course c on r.cid=c.cid

Right outer Join student s on r.sid=r.sid (注意sname,tanme,cname属于哪个表别忘了加上)

9、 列出高于学科平均成绩的学生编号和其成绩

Select sid,rscore from register outers where rscore>

(select avg(rscore) from register inners where inners.cid=outers.cid)

10 删除姓张的学员信息

delete from student where S_Name like ?张%?


sqlserver测试题及答案(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:苏州市阀门制造企业名录2018版285家 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: