sqlserver2008上机五套试题及答案

更新时间:2024-01-14 00:43:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

??SQL Server 2008测验题(A卷) ??考试时间90分钟 ??学号班级

??一、选择题(每题3分,个别题2分, 共40分)

??1) 假定有一个用户表,表中包含字段:userid (int)、username (varchar)、 password(varchar)、等,该表需要设置主键,以下说法正确的是。(选择两项) ??a)如果不能有同时重复的username和password,那么username和password可以组合在一起作为主键。

??b)此表设计主键时,根据选择主键的最小性原则,最好采用userid作为主键。 ??c)此表设计主键时,根据选择主键的最小性原则,最好采用username和password作为组合键。

??d) 如果采用userid作为主键,那么在userid列输入的数值,允许为空。 ??2) 以下()语句从表TABLE_NAME中提取前10条记录。(选择一项) a)select * from TABLE_NAME where rowcount=10 ??b)select TOP 10 * from TABLE_NAME ??c)select TOP of 10 * from TABLE_NAME

??d)select * from TABLE_NAME where rowcount<=10 ??3) 查找 student表中所有电话号码(列名:telephone)的第一位为8或6,第三位为0的电话号码()。(选择一项)

??a)SELECT telephone FROM student WHERE telephone LIKE ?[8,6]%0*? b)SELECT telephone FROM student WHERE telephone LIKE ?(8,6)*0%? c)SELECT telephone FROM student WHERE telephone LIKE ?[8,6]_0%? d)SELECT telephone FROM student WHERE telephone LIKE ?[8,6]_0*?

??4) 现有表Employee,字段:id (int),firstname(varchar), lastname(varchar); 以下sql语句错误的是()。(选择一项) a)select firstname+?.?+lastname as ?name? from employee )

??b)select firstname+?.?+lastname=?name? from employee ??c)select ?name?=firstname+?.?+lastname from employee ??d)select firstname,lastname from employee

??5) 若要删除book表中所有数据,以下语句错误的是()。(选择两项)

??a)truncate table book //对整个数据表中的数据进行删除,没有附带事物这一特性,比delete要快,只能删除单表中的数据 ??b)delete * from book

??c)drop table book //删除整个数据表对象 ??d)delete from book

??6) 现有书目表book,包含字段:price (float); 现在查询一条书价最高的书目的详细信息,以下语句正确的是()。(选择两项) ??a)select top 1 * from book order by price asc ??b)select top 1 * from book order by price desc

??c)select top 1 * from book where price= (select max (price)from book) d)select top 1 * from book where price= max(price) ??

??//聚合函数只能放在select 和from 之间使用

??7) 查询student表中的所有非空email信息, 以下语句正确的是()。(选择一项) a)Select email from student where email !=null

??b)Select email from student where email not is null ??c)Select email from student where email <> null ??d)Select email from student where email is not null

??8) 现有订单表orders,包含用户信息userid, 产品信息 productid, 以下()语句能够返回至少被订购过两回的productid? (选择一项) ??a)select productid from orders where count(productid)>1 ??b)select productid from orders where max(productid)>1

??c)select productid from orders where having count(productid)>1 group by productid_ d)select productid from orders group by productid having count(productid)>1

??9) 使用以下()不可以进行模糊查询。(选择一项)(本题2分) ??a)OR

??b)Not between ??c)Not IN ??d)Like

??10) Sql语句:select * from students where SNO like ?010[ ]%[A,B,C]%?,可能会查询出的SNO是()。(选择两项)(本题2分) ??a)01053090A #Hm3? ??b)01003090A01 ??c)01053090D09 ??d)0101A01

??11) 创建一个名为?Customers?的新表,同时要求新表中包含表?clients?的所有记录,sql语句是()。(选择一项) ??a)Select * into customers from clients ??b)Select into customers from clients

??c)Insert into customers select * from clients ??d)Insert customers select * from clients

??12) 假设订单表orders用来存储订单信息,cid代表客户编号,money代表单次订购额,现要查询每个客户的订购次数和每个客户的订购总金额,下面()sql语句可以返回正确结果。(选择一项)

??a)select cid,count(distinct(cid)),sum(money) from orders group by cid ??b)select cid,count(distinct(cid)),sum(money) from orders order by cid ??c)select cid,count(cid),sum(money) from orders order by cid ??d)select cid,count(cid),sum(money) from orders group by cid ??13) 以下描述不正确的是 ()(本题2分) ??a)存储过程能够实现较快的执行速度。

??b)内嵌表值型函数相当于一个带参数的视图。 ??c)不指定所有者时,调用标量函数会出错。 ??d)可以通过视图更改任意基表

??14) 主索引可确保字段中输入值的()性。(本题2分) ??A.多样 ??B.重复

??

??C.唯一 ??D.若干

??15) Select 职工号 FROM 职工 WHERE 工资>1250 命令的功能是()。(本题2分)

??A.查询工资大于1250的纪录

??B.查询1250号记录后的记录 C.检索所有的职工号 ??D.从[职工]关系中检索工资大于1250的职工号 ??1. 二、判断题:(每小题4分,共20分) ??2. F ??3. T ??4. F ??5. F

??6. T 1. 主键字段允许为空。(f)

??2. SQL Server 自动为primary key约束的列建立一个索引。(t) 3. 数据库的名称一旦建立就不能重命名。(f)

??4. 固定数据库角色:db_datarader 的成员可修改本数据库内表中的数据。(t)f ??5. 验证模式是在安装SQL Server过程中选择的。系统安装之后,可以重新修改SQL

??Server系统的验证模式。(t)

??三、阅读下列程序,说明它们的功能。(每题7分,共20分) ??1.

??use 成绩数据库

??If exists ( select name from sysobjects ??Where name=?student_inf? and type=?p?) ??Drop procedure student_inf ??Go

??Create procedure student_inf as

??Select 学号, 姓名, 总学分 from xsqk ??2. (本题6分)

??use 教学成绩管理数据库 ??go

??alter table 学生信息表 ??add email varchar(20) null, ??学历 text, ??照片 image ??3.

??use 教学成绩管理数据库

??select 教学成绩表.学号,姓名,sum(分数) 总分,avg(分数) 均分 ??from 学生信息表 join 教学成绩表

??on 学生信息表.学号 = 教学成绩表.学号 ??group by 教学成绩表.学号,姓名 ??order by avg(分数) desc ??四、编程题(20分)

??1、问题描述: ??

??已知关系模式:

??S (SNO,SNAME) 学生关系。SNO 为学号,SNAME 为姓名

??C (CNO,CNAME,CTEACHER) 课程关系。CNO 为课程号,CNAME 为课程名,CTEACHER 为任课教师

??SC(SNO,CNO,SCGRADE) 选课关系。SCGRADE 为成绩 ??1. 找出没有选修过“李明”老师讲授课程的所有学生姓名(6分)

??2. 列出有二门以上(含两门)不及格课程的学生姓名及其平均成绩(7分) ??3. 列出既学过“1”号课程,又学过“2”号课程的所有学生姓名(7分) ??SQL Server 2008测验题(A卷) ??考试时间90分钟

??一、选择题(每题2分, 共40分) ??1) AB ??2) B ??3) C ??4) B ??5) BC ??6) BC ??7) D ??8) D ??9) B ??10) AD ??11) A ??12) D ??13) D ?? ??14)C ??15)D

??二、判断题:(每小题4分,共20分) ??1. F ??2. T ??3. F ??4. F ??5. T

??三、阅读下列程序,说明它们的功能。(每题7分,共20分) ??1.

??use 成绩数据库

??If exists ( select name from sysobjects ??Where name=?student_inf? and type=?p?) ??Drop procedure student_inf ??Go

??Create procedure student_info as

??Select 学号, 姓名, 总学分 from xsqk

??

??2. (本题6分)

??use 教学成绩管理数据库 ??go

??alter table 学生信息表 //修改数据表

??add email varchar(20) null, //增加email列 可以为空 ??学历 text, ??照片 image ??3.

??use 教学成绩管理数据库

??select 教学成绩表.学号,姓名,sum(分数) 总分,avg(分数) 均分 ??from 学生信息表 join 教学成绩表

??on 学生信息表.学号 = 教学成绩表.学号 ??group by 教学成绩表.学号,姓名 ??order by avg(分数) desc ??四、编程题(20分) ??1、问题描述: ??已知关系模式:

??S (SNO,SNAME) 学生关系。SNO 为学号,SNAME 为姓名

??C (CNO,CNAME,CTEACHER) 课程关系。CNO 为课程号,CNAME 为课程名,CTEACHER 为任课教师

??SC(SNO,CNO,SCGRADE) 选课关系。SCGRADE 为成绩 ??1. 找出没有选修过“李明”老师讲授课程的所有学生姓名(6分) ??Select SNAME FROM S ??Where NOT EXISTS( ??Select * FROM SC,C ??Where SC.CNO=C.CNO

??AND CTEACHER=?李明? ) ??

??2. 列出有二门以上(含两门)不及格课程的学生姓名及其平均成绩(7分) select sname,ave(scgrade) ??from s,sc

??WHERE s.sno=SC.sno AND SNO IN (select Sno from sc where scgrade<60 ??group by sno

??having count(distinct cno)>=2) ??或者

??select sname,avg_scgrade=avg(scgrade) ??from s,sc,( ??select sno ??from sc

??where scgrade<60 ??group by sno

??having count(distinct cno)>=2

??)a where s.sno=a.sno and sc.sno=a.sno

??group by s.sno,s.sname ??

??3. 列出既学过“1”号课程,又学过“2”号课程的所有学生姓名(7分) ??select s.sno,s.sname ??from s,( ??select sc.sno ??from sc,c

??where sc.cno=c.cno ??and c.cname in(?1?,?2?) ??group by sno

??having count(distinct cno)=2 ??)sc where s.sno=sc.sno ??或者:

??Select sname from s,sc where sc.sno in (select sno from sc where sc.cno=’1’) and sc.sno in(select sno from sc where sc.cno=’2’) ??SQL Server 2008测验题(B卷) ??考试时间90分钟

??学号班级一、选择题(每题3分, 共45分)

??1) 假定有一个用户表,表中包含字段:userid (int)、username (varchar)、 password(varchar)、等,该表需要设置主键,以下说法正确的是。(选择两项) ??a)如果不能有同时重复的username和password,那么username和password可以组合在一起作为主键。

??b)此表设计主键时,根据选择主键的最小性原则,最好采用userid作为主键。 ??c)此表设计主键时,根据选择主键的最小性原则,最好采用username和password作为组合键。

??d) 如果采用userid作为主键,那么在userid列输入的数值,允许为空。

??2) 从“产品”表里查询出价格高于产品名称为“一次性纸杯”的产品的记录,此SQL语句为()。(选择一项)

??a)SELECT * FROM 产品WHERE 价格>?一次性纸杯?

??b)SELECT * FROM 产品WHERE 价格>(SELECT * FROM 产品WHERE 产品名称>? 一次性纸杯?

??c)SELECT * FROM 产品WHERE EXISTS 产品名称=? 一次性纸杯?

??d)SELECT * FROM 产品WHERE 价格>(SELECT 价格FROM 产品WHERE 产品名称=? 一次性纸杯?

??3) 查找 student表中所有电话号码(列名:telephone)的第一位为8或6,第三位为0的电话号码()。(选择一项)

??a)SELECT telephone FROM student WHERE telephone LIKE ?[8,6]%0*? ??b)SELECT telephone FROM student WHERE telephone LIKE ?(8,6)*0%?

??c)SELECT telephone FROM student WHERE telephone LIKE ?[8,6]_0%? d)SELECT telephone FROM student WHERE telephone LIKE ?[8,6]_0*? ??4) 在sql server 2008中,关于数据库说法正确的是()。(选择一项)

??a)数据库在磁盘上默认的存储位置是:SQL Server安装路径\\Microsoft SQL ??

??Server\\MSSQL\\Data

??b)一个数据库至少应包含一个数据库文件(*.mdf)和一个事务日志文件(*.ldf) c)只有当数据库中不存在数据的情况下,才可以进行数据库的收缩操作。 ??d)可以通过从A机器拷贝数据库文件和事务日志文件至B机器,然后通过在B机器上执行相应的附加数据库操作,实现数据库从A机器到B机器的复制。 ??5) 若要删除book表中所有数据,以下语句错误的是()。(选择两项)

??a)truncate table book //对整个数据表中的数据进行删除,没有附带事物这一特性,比delete要快,只能删除单表中的数据 ??b)delete * from book

??c)drop table book //删除整个数据表对象 ??d)delete from book

??6) 现有书目表book,包含字段:价格price (float),类别type(char); 现在查询各个类别的平均价格、类别名称,以下语句正确的是()。(选择一项) ??a)select avg(price),type from book group by type ??b)select count(price),type from book group by price ??c)select avg(price),type from book group by price ??d)select count (price),type from book group by type

??7) 查询student表中的所有非空email信息, 以下语句正确的是()。(选择一项) a)Select email from student where email !=null

??b)Select email from student where email not is null ??c)Select email from student where email <> null

??d)Select email from student where email is not null 8) 关于聚合函数,以下说法错误/正确的是()。(选择一项)

??a)Sum返回表达式中所有数的总合,因此只能用于数字类型的列。 ??b)Avg返回表达式中所有数的平均值,可以用于数字型和日期型的列。 ??c)Max和Min可以用于字符型的列。 ??d)Count可以用于字符型的列。

??9) 使用以下()不可以进行模糊查询。(选择一项)(本题2分) ??a)OR

??b)Not between ??c)Not IN ??d)Like

??10) 关于主键,以下()说法是错误的。(选择两项) (本题2分) ??a)主键可以用来确保表中不存在重复的数据行。 ??b)一个表必须有一个主键。 ??c)一个表只能有一个主键。 ??d)只能对整数型列设置主键。

??11) 创建一个名为?Customers?的新表,同时要求新表中包含表?clients?的所有记录,sql语句是()。(选择一项) ??a)Select * into customers from clients ??b)Select into customers from clients

??c)Insert into customers select * from clients ??d)Insert customers select * from clients ??12) 删除表的语句是()。(本题2分) ??

??A.DROP

??B.ALTER C.UPDATE D.DELETE

??13) 以下描述不正确的是 ()(本题2分) a)存储过程能够实现较快的执行速度。

??b) c)不指定所有者时,调用标量函数会出错。 d)可以通过视图更改任意基表

??14) 关于视图下列哪一个说法是错误的()。 A.视图是一种虚拟表

??B.视图中也保存有数据 //视图是保存查询语句,没有数据源 C.视图也可由视图派生出来 D.视图是保存在SELECT查询

??15) Select 职工号 FROM 职工 WHERE 工资>1250 命令的功能是()。(本题2分) A.查询工资大于1250的纪录

??B.查询1250号记录后的记录 C.检索所有的职工号

??D.从[职工]关系中检索工资大于1250的职工号 二、判断题:(每小题1分,共5分) 1. 主键字段允许为空。(f) 2. 3. 4. 5.

??SQL Server 自动为primary key约束的列建立一个索引。(t) 数据库的名称一旦建立就不能重命名。(f)

??固定数据库角色:db_datarader 的成员可修改本数据库内表中的数据。(ff) ??验证模式是在安装SQL Server过程中选择的。系统安装之后,可以重新修改SQL

??Server系统的验证模式。(t) 四、编程题(50分) ??1、 现有如下两张表,请看具体要求(本题20分). ??表1(Company) ?? ?? ?? ?? ??

??表2(Hire) ?? ?? ?? ?? ??

??(1) 找出表中的主键.

??(2) 找出表之间的关系(外键). (3) 求第4财季招聘过员工的公司名称. ??(4) 求第1到第4财季从没招聘过员工的公司.

??(5) 从第1到第4财季之间招聘过员工的公司名称和他们各自招聘的员工总数. ?? ??2、(本题20分) ?? ?? ?? ?? ??

?? ??

??问题一:按产品进行分类,列出各类商品中红色多于蓝色的商品名称及差额数量?

??问题二:对产品进行分类,将数据按下列方式进行统计显示 ??产品 红色 蓝色 ??产品1 1500 1298 ??3、有3个表S,C,SC

??S(SNO,SNAME)代表(学号,姓名)

??C(CNO,CNAME,CTEACHER)代表(课号,课名,教师) ??SC(SNO,CNO,SCGRADE)代表(学号,课号成绩) ??问题: (本题10分)

??1,找出没选过“黎明”老师的所有学生姓名。

??2,列出2门以上(含2门)不及格学生姓名及平均成绩。 ??3,即学过1号课程又学过2号课所有学生的姓名。 ??SQL Server 2008测验题(C卷) ??考试时间90分钟 ??学号班级

??一、选择题(每题3分,共35分)

??1) 下列有关数据库的描述,正确的是______。C ??A、数据库是一个DBF文件 ??B、数据库是一个关系

??C、数据库是一个结构化的数据集合 ??D、数据库是一组文件 ??

??2) 用二维表数据来表示实体及实体之间联系的数据模型称为___D___。 ??A、实体--联系模型 ??B、层次模型 ??C、网状模型 ??D、关系模型 ??

??3)下列函数中函数值为字符型的是______。 B ??A、DATE() ??

??B、TIME() ??C、YEAR()

??D、DATETIME()

??4)设有关系R1和R2,经过关系运算得到结果S,则S是______。A ??A、一个关系 ??B、一个表单 ??C、一个数据库 ??D、一个数组

??5)在表结构中,逻辑型、日期型、备注型字段的宽度分别固定为______。C ??A、3,8,10

??B、1,6,4 ??C、1,8,任意 ??D、1,8,4

??6)在标准SQL中,建立视图的命令是______。C ??A、CREATE SCHEMA命令 ??B、CREATE TABLE命令 ??C、CREATE VIEW命令 ??D、CREATE INDEX命令 ??

??7)设有图书管理数据库:

??图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2)) 读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20)) ??借阅(借书证号C(4),总编号C(6),借书日期D(8))

??对于图书管理数据库,要查询所藏图书中,各个出版社的图书最高单价、平均单价和册数,下面SQL语句正确的是______。D ??SELECT 出版单位,______,______,______; ??FROM 图书管理!图书 ______ 出版单位

??A、MIN(单价) AVGAGE(单价) COUNT(*) GROUP BY ??B、MAX(单价) AVG(单价) COUNT(*) ORDER BY ??C、MAX(单价) AVG(单价) SUM(*) ORDER BY ??D、MAX(单价) AVG(单价) COUNT(*) GROUP BY ??8)设有图书管理数据库:(本题4分)

??图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2)) 读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20)) ??借阅(借书证号C(4),总编号C(6),借书日期D(8))

??对于图书管理数据库,求CIE单位借阅图书的读者的人数。 ??下面SQL语句正确的是______。A ??SELECT ______ FROM 借阅 WHERE; ??借书证号 _______

??A、COUNT (DISTINCT 借书证号)

??IN (SELECT 借书证号 FROM 读者 WHERE 单位="CIE") ??B、COUNT (DISTINCT 借书证号)

??IN (SELECT 借书证号 FROM 借阅 WHERE 单位="CIE") ??C、SUM (DISTINCT 借书证号) ??

??IN (SELECT 借书证号 FROM 读者 WHERE 单位="CIE") ??D、SUM (DISTINCT 借书证号)

??IN (SELECT 借书证号 FOR 借阅 WHERE 单位="CIE")

??9) 查询订购单号(字符型,长度为4)尾字符是"1"的错误命令是______。A

??A、SELECT * FROM 订单 WHERE SUBSTR(订购单号,4)="1" ??B、SELECT * FROM 订单 WHERE SUBSTR(订购单号,4,1)="1" ??C、SELECT * FROM 订单 WHERE RIGHT(订购单号,1)="1"

??10)在关系模型中,为了实现"关系中不允许出现相同元组"的约束

应使用______。B ??A、临时关键字 ??B、主关键字 ??C、外部关键字 ??D、索引关键字 ?? ??11)当前盘当前目录下有数据库:学院.dbc,其中有"教师"表和"学院"表。(本题4分) "教师"表: ??"学院"表: ??有SQL语句:

??SELECT DISTINCT 系号 FROM 教师 WHERE 工资>=;

??ALL (SELECT 工资 FROM 教师 WHERE 系号="02") ??与如上语句等价的SQL语句是______。A

??A、SELECT DISTINCT 系号 FROM 教师 WHERE工资>=; ??

??(SELECT MAX(工资) FROM 教师 WHERE 系号="02") B、SELECT DISTINCT 系号 FROM 教师 WHERE 工资>=; (SELECT MIN(工资) FROM 教师 WHERE 系号="02") C、SELECT DISTINCT 系号 FROM 教师 WHERE 工资>=;

??ANY(SELECT 工资 FROM 教师 WHERE 系号="02")

??D、SELECT DISTINCT 系号 FROM 教师 WHERE 工资>=; SOME (SELECT 工资 FROM 教师 WHERE 系号="02") ??二、填空题(每题2分,共10分) ??

??1)关系模型的数据操纵即是建立在关系上的数据操纵,一般有_查询_、增加、删除和修改四种操作。

??2)TIME( )的返回值的数据类型是_字符__类型。

??3)在定义字段有效性规则中,在规则框中输入的表达式中类型是__逻辑表达式______。

??4) _ 读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20)) ??借阅(借书证号C(4),总编号C(6),借书日期D(8))

??检索书价在15元至25元(含15元和25元)之间的图书的书名、作者、书价和分类号,结果按分类号升序排序。 ??

??SELECT 书名,作者,单价,分类号 FROM 图书; ??WHERE______;单价 BETWEEN 15 AND 25 ??ORDER BY______;分类号 ASC ??2. 设有如下关系表R、S和T:(本题10分) ??R(BH,XM,XB,DWH) ??S(SWH,DWM)

??T(BH,XM,XB,DWH)

??实现R∪T的SQL语句是_______。SELECT * FROM R UNION SELECT * FROM T

??3. 设有如下关系表R:(本题5分)

??R(NO,NAME,SEX,AGE,CLASS) ??主关键字是NO

??其中NO为学号,NAME为姓名,SEX为性别,AGE为年龄,CLASS为班号。写出实现下列功能的SQL语句。

??插入"95031"班学号为30,姓名为"郑和"的学生记录;_______。

??INSERT INTO R(NO,NAME,CLASS) VALUES(30,?郑和?,?95031?) ??4. 设有如下关系表R:(本题5分) ??R(NO,NAME,SEX,AGE,CLASS) ??主关键字是NO

??其中NO为学号(数值型),NAME为姓名,SEX为性别,AGE为年龄,CLASS为班号。写出实现下列功能的SQL语句。 ??删除学号为20的学生记录;______。 ??DELETE FROM R WHERE NO=20 ??四、编程题(30分)

??1. 活期存款中,“储户”通过“存取款单”和“储蓄所”发生联系。

??储户由账号,姓名,电话,地址,存款额五个属性组成,[账号]为关键字; ??储蓄所由储蓄所编号,名称,电话,地址(假定一个储户可以在不同的储蓄所存取款),

??[储蓄所编号]为关键字;

??存取款单由账号,储蓄所编号,存取日期,存取标志,存取金额; ??写出创建以上表的语句 ??Create table储户

??(账号 char(10) primary key, ??姓名 varchar(6)not null, ??电话 char(11), ??地址 varchar(10) ??存款额 MONEY) ??Create table存取款单

??(账号 char(10) Foreign key references 储户(账号), ??储蓄所编号 char(10)

??Foreign key references 储蓄所(储蓄所编号) , ??存取日期 DATE, ??存取标志 BIT,

??存取金额 MONEY) ??Create table储蓄所 ??

??(储蓄所编号 char(10) primary key, ??名称 varchar(10), ??电话 char(11), ??地址 varchar(10) )

??SQL Server 2008测验题(D卷)

??考试时间90分钟 学号 姓名 班级 ??一.选择题(每题3分,共30分)

??

??1. SQL语句中修改表结构的命令是______。 ??A、MODIFY TABLE

??B、MODIFY STRUCTURE ??C、ALTER TABLE

??D、ALTER STRUCTURE ??

??2. 要控制两个表中数据的完整性和一致性可以设置"参照完整性",要求这两个表______。 ??A、是同一个数据库中的两个表 ??B、不同数据库中的两个表 ??C、两个基本表

??D、一个是数据库表另一个是基本表 ??

??3. 在关系模型中,实现"关系中不允许出现相同的元组"的约束是通过______。 ??A、候选键 ??B、主键 ??C、外键 ??D、超键 ??

??4. 只有满足联接条件的记录才包含在查询结果中,这种联接为______。 ??A、左联接 ??B、右联接

??C、从数据库中删除表的命令是______。 ??A、DROP TABLE ??

??B、ALTER TABLE ??C、DELETE TABLE ??D、USE

??7. DELETE FROM S WHERE 年龄>60语句的功能是_ _____。 ??A、从S表中彻底删除年龄大于60岁的记录 ??B、S表中年龄大于60岁的记录被加上删除标记 ??C、删除S表

??D、删除S表的年龄列

??8. SELECT-SQL语句是______。 ??A、选择工作区语句 ??B、数据查询语句 ??C、选择标准语句 ??D、数据修改语句

??9. SQL语言是______语言。 ??A、层次数据库 ??B、网络数据库 ??C、关系数据库

??D、非数据库

??10. 在SQL中,删除视图用______。 ??A、DROP SCHEMA命令 ??B、CREATE TABLE命令 ??C、DROP VIEW命令 ??D、DROP INDEX命令

??二、应用选择题(每题5分,共15分) ??

??1. 设有图书管理数据库:

??图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2)) 读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20)) 借阅(借书证号C(4),总编号C(6),借书日期D(8))

??对于图书管理数据库,查询0001号借书证的读者姓名和所借图书的书名。 SQL语句正确的是______。 ??SELECT 姓名,书名 ??FROM 借阅,图书,读者

??WHERE借阅.借书证号="0001" AND______;A ??A、图书.总编号=借阅.总编号 AND; ??读者.借书证号=借阅.借书证号

??B、图书.分类号=借阅.分类号 AND; ??读者.借书证号=借阅.借书证号

??C、读者.总编号=借阅.总编号 AND; ??读者.借书证号=借阅.借书证号

??D、图书.总编号=借阅.总编号 AND; ??读者.书名=借阅.书名

??2. 设有图书管理数据库:A

??图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2)) ??

??读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20)) ??借阅(借书证号C(4),总编号C(6),借书日期D(8))

??对于图书管理数据库,分别求出各个单位当前借阅图书的读者人次。下面的SQL语句正确的是______。 ??SELECT 单位,______ ??FROM 借阅,读者

??WHERE 借阅.借书证号=读者.借书证号 ______ ??A、COUNT(借阅.借书证号) GROUP BY 单位 ??B、SUM(借阅.借书证号) GROUP BY 单位 ??C、COUNT(借阅.借书证号) ORDER BY 单位 ??D、COUNT(借阅.借书证号) HAVING 单位 ??3. 设有图书管理数据库:B

??图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2)) 读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20)) ??借阅(借书证号C(4),总编号C(6),借书日期D(8))

??对于图书管理数据库,检索借阅了《现代网络技术基础》一书的借书证号。下

面SQL语句正确的是______。 ??SELECT 借书证号 ??FROM 借阅

??WHERE 总编号= ______

??A、(SELECT 借书证号 FROM 图书 WHERE 书名="现代网络技术基础")

??B、(SELECT 总编号 FROM 图书 WHERE 书名="现代网络技术基础")

??C、(SELECT 借书证号 FROM 借阅 WHERE 书名="现代网络技术基础")

??D、(SELECT 总编号 FROM 借阅 WHERE 书名="现代网络技术基础")

??三、填空题(每题2.5分,共5分) ??

??1. 关系数据库管理系统能实现的专门关系运算包括选择、连接和______。 ??2. SQL SELECT语句为了将查询结果存放到临时表中应该使用______短语。 ??四、语句填空题(第一题20分,第二题10分,第三题20分,共计50分) ??1. 设有图书管理数据库:

??图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2)) 读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20)) ??借阅(借书证号C(4),总编号C(6),借书日期D(8))

??用SQL的CREATE命令建立借阅表(字段顺序要相同),请将创建借阅表的语句填到下

??面的空格中(创建表的同时要创建外键): ??______

??2. 设有图书管理数据库:

??图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2)) 读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20)) ??借阅(借书证号C(4),总编号C(6),借书日期D(8))

??对图书管理数据库,查询由"清华大学出版社"或"电子工业出版社"出版,并且单价不超出20元的书名。请对下面的SQL语句填空: ??SELECT 书名,出版单位,单价 ??

??FROM 图书

??WHERE_______ AND; ??_______

??3. 设有图书管理数据库:

??图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2)) 读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20)) 借阅(借书证号C(4),总编号C(6),借书日期D(8))

??对图书管理数据库,求共借出多少种图书。请对下面的SQL语句填空: ??SELECT _______ ??FROM 借阅 ??第一套题答案

??一、 选择题 ??1-5 CABCB ??6-10 AABCC

??二、应用选择题(每题5分,共15分) ??1-3 AAB

??三、填空题(每题2.5分,共5分) ??1. 投影 ??2. INTO

??四、语句填空题(第一题20分,第二题10分,第三题20分,共计50分) ??1. CREATE TABLE 借阅 ??(借书证号 C(4), ??总编号 C(6), ??借书日期 DATE) ??2. 单价<=20

??或 (出版单位="清华大学出版社" OR 出版单位="电子工业出版社") 或 (出版单位="电子工业出版社" OR 出版单位="清华大学出版社") 或 (出版单位=?清华大学出版社? OR 出版单位=?电子工业出版社?) 与 (出版单位="清华大学出版社" OR 出版单位="电子工业出版社") 或 (出版单位=?清华大学出版社?)

??3. COUNT(DISTINCT 总编号) 或 COUN(DISTINCT 总编号) 或 COUNT(DIST 总编号) 或 COUN(DIST 总编号) ??SQL Server 2008测验题(E卷) ??考试时间90分钟

??学号 姓名 班级 ??一、选择题(每题2分, 共30分)

??1) 关于关系图下列哪一个是正确的()。C

??A.关系图是在同一个表中不同字段之间建立关联 ??B.关系图是表与表之间建立关联,与字段无关 ??C.关系图是在不同表中的字段之间建立关联 ??

??D.关系图是在不同数据库之间建立关联

??2) 从“产品”表里查询出价格高于产品名称为“一次性纸杯”的产品的记录,此SQL语句为()。D

??a)SELECT * FROM 产品WHERE 价格>?一次性纸杯? D

??b)SELECT * FROM 产品WHERE 价格>(SELECT * FROM 产品WHERE 产品名称>? 一次性纸杯?

??c)SELECT * FROM 产品WHERE EXISTS 产品名称=? 一次性纸杯?

??d)SELECT * FROM 产品WHERE 价格>(SELECT 价格FROM 产品WHERE 产品名称=? 一次性纸杯?

??3) 现有表book,字段:id (int),title (varchar), price (float); 其中id字段设为标识, 使用insert语句向book表中插入数据,以下语句错误的是()。A ??a)insert into book (id,title,price) values(1,?java?,100) ??b)insert into book (title,price) values(?java?,100) ??c)insert into book values (?java?,100)

??d)insert book values(?java?,100)

??4) 在sql server 2008中,关于数据库说法错误的是()。C

??a)数据库在磁盘上默认的存储位置是:SQL Server安装路径\\Microsoft SQL Server\\MSSQL\\Data

??b)一个数据库至少应包含一个数据库文件(*.mdf)和一个事务日志文件(*.ldf) c)只有当数据库中不存在数据的情况下,才可以进行数据库的收缩操作。 ??d)可以通过从A机器拷贝数据库文件和事务日志文件至B机器,然后通过在B机器上执行相应的附加数据库操作,实现数据库从A机器到B机器的复制。 ??5) 若要删除book表中所有数据,以下语句错误的是()。(选择两项)BC ??a)truncate table book //对整个数据表中的数据进行删除,没有附带事物这一特性,比delete要快,只能删除单表中的数据 ??b)delete * from book

??c)drop table book //删除整个数据表对象 ??d)delete from book

??5) 学生成绩表grade中有字段score(float),现在要把所有在55分至60之间的分数提高5分,以下sql语句正确的是()。(选择两项)CD ??a)Update grade set score=score+5

??b)Update grade set score=score+5 where score>=55 or score <=60 ??c)Update grade set score=score+5 where score between 55 and 60

??d)Update grade set score=score+5 where score >=55 and score <=60

??6) 现有书目表book,包含字段:价格price (float),类别type(char); 现在查询各个类别的平均价格、类别名称,以下语句正确的是()。A ??a)select avg(price),type from book group by type ??b)select count(price),type from book group by price ??c)select avg(price),type from book group by price ??d)select count (price),type from book group by type

??7) 成绩表grade中字段score代表分数,以下()语句返回成绩表中的最低分。(选择两项) BC

??a)select max(score) from grade

??b)select top 1 score from grade order by score asc ??

??c)Select min(score) from grade

??d)select top 1 score from grade order by score desc ??8) 关于聚合函数,以下说法错误的是()。B

??a)Sum返回表达式中所有数的总合,因此只能用于数字类型的列。 ??b)Avg返回表达式中所有数的平均值,可以用于数字型和日期型的列。 ??c)Max和Min可以用于字符型的列。 ??d)Count可以用于字符型的列。

??9) 关于多表联接查询,以下()描述是错误的。B

??a)外联接查询返回的结果集行数可能大于所有符合联接条件的结果集行数。 ??b)多表联接查询必须使用到JOIN关键字 ??c) //视图是保存查询语句,没有数据源 ??C.视图也可由视图派生出来 ??D.视图是保存在SELECT查询

??15) 查询毕业学校名称与“清华”有关的记录应该用(D)。

??A. SELECT * FROM 学习经历 WHERE 毕业学校 LIKE ?*清华*? ??B. SELECT * FROM 学习经历 WHERE 毕业学校 = ?%清华%? ??C. SELECT * FROM 学习经历 WHERE 毕业学校 LIKE ??清华?? ??D. SELECT * FROM 学习经历 WHERE 毕业学校 LIKE ?%清华%? ??

??二、判断题:(每小题2分,共20分)

??1. 安装Microsoft SQL Server 2005 企业版对操作系统的最低要求可以是Microsoft

??Windows 2008 Professional。(F)

??2. 每一个服务器必须属于一个服务器组。一个服务器组可以包含0个、一个或多个服务 ??器。(T)

??3. 验证模式是在安装SQL Server过程中选择的。系统安装之后,可以重新修改SQL

??Server系统的验证模式。(T)

??4. 固定数据库角色:db_datareader 的成员不能修改本数据库Foreign key references 储户(账号), ??储蓄所编号 char(10)

??Foreign key references 储蓄所(储蓄所编号) , ??

??存取日期 DATE, ??存取标志 BIT,

??存取金额 MONEY) ??Create table储蓄所

??(储蓄所编号 char(10) primary key, 名称 varchar(10), ??电话 char(11), ??地址 varchar(10) ??)

??1、 选择题 ??1. AB ??2. D ??3. C ??4. B ??5. BC ??6. A ??7. D ??8. A ??9. B ??10. bd ??11. D ??12. A ??13. C ??14. B

??15. D SQL Server 2008测验题(B卷) 考试时间90分钟 学号班级 ??

??2、 FTFFT ??3、 现有如下两张表,请看具体要求,首先克服自己,不要怕,要记得北京很多公司. ??表1(Company) ?? ?? ?? ?? ??

??表2(Hire) ?? ?? ?? ?? ??

??(1) 找出表中的主键. a) 表1的主键是ID了. (2) 表2的主键CompanyID (3) 找出表之间的关系.

??Hire表的主键做为外键引用了Company表的主键. ??(4) 求第四财季招聘过员工的公司名称. ??i.

??select c.companyName, c.id from company c where id in (

??select h.companyID from hire h where h.FiscalQuater = 4 and h.NumHired > 0); select c.companyName, c.id from company c where id in (

??select h.companyID from hire h where (h. FiscalQuater between 1 and 4) and ??h.NumHired = 0);

??(6) 从第一到第四财季之间招聘过员工的公司名称和他们各自招聘的员工总数. ??i. ??2、 ?? ?? ?? ?? ??

??(5) 求第一到第四财季从没招聘过员工的公司. ??i.

??select c.companyName, sum(h.NUmhired) as result from company c join hire h on (c.id = h.companyID) group by h.companyID ??

??问题一:按产品分类仅列出各类商品中红色多于蓝色的商品名称及差额数量? ??select 产品, sum(case when 颜色=?红色? then 数量 else 0 end) -sum(case when 颜色=?蓝色? then 数量 else 0 ??end) as 差额 from test group by 产品 ??

??having sum(case when 颜色=?红色? then 数量 else 0 ??end) >sum(case when 颜色=?蓝色? then 数量 else 0 ??end) ??或者

??方法2 select 产品, sum(case when 颜色=?红色? then 数量 ??when 颜色=?蓝色? then -数量 else 0 end) as 差额 ??from test

??group by 产品

??having sum(case when 颜色=?红色? then 数量 when 颜 ??色=?蓝色? then -数量 else 0 end)>0 ??问题二:产品分类,将数据按下列方式进行统计显示 ??产品 红色 蓝色 ??产品1 1500 1298

??select 产品,红色=sum(case when 颜色=?红色? then 数量 else 0 end), 蓝色=sum(case when 颜色=?蓝色? then 数量 else 0 end) from test group by 产品 ??select Name, sum(case when ??Color=?red? then

??SafetyStockLevel else 0 end) -sum(case when Color=?blue? ??then SafetyStockLevel else 0 end) as 差额 ??from Production.Product ??group by Name

??having sum(case when ??Color=?red? then

??SafetyStockLevel else 0

??end) >sum(case when Color=?blue? then SafetyStockLevel else 0 end) ??

??select Name,红色=sum(case when Color=?red? then

??SafetyStockLevel else 0 end), 蓝色=sum(case when Color=?blue? then SafetyStockLevel else 0 end) from Production.Product group by Name ??3、有3个表S,C,SC

??S(SNO,SNAME)代表(学号,姓名)

??C(CNO,CNAME,CTEACHER)代表(课号,课名,教师) ??SC(SNO,CNO,SCGRADE)代表(学号,课号成绩) ??问题:

??1,找出没选过“黎明”老师的所有学生姓名。

??select sname from s where sno not in (select sno from sc where cno in (select cno from c where cteacher = ?黎明?));

??2,列出2门以上(含2门)不及格学生姓名及平均成绩。 ??select s.sname,ave(scgrade) ??from s,sc

??WHERE s.sno=SC.sno AND SNO IN (select Sno from sc where scgrade<60

??group by sno

??having count(distinct cno)>=2)

??3,即学过1号课程有学过2号课所有学生的姓名。

??select sname from s where sno in (select sno from sc where cno = 1 and sno in (select sno from sc where cno = 2)) ??

??group by sno

??having count(distinct cno)>=2)

??3,即学过1号课程有学过2号课所有学生的姓名。

??select sname from s where sno in (select sno from sc where cno = 1 and sno in (select sno from sc where cno = 2)) ??

本文来源:https://www.bwwdw.com/article/os1o.html

Top